我有一个名为search.php的表单,它搜索数据库列order_niv。

如果找到结果,我想要获取我搜索的行中其他列的值。我做了这个$res = mysqli_query($connz,"SELECT * FROM add_courier WHEREadd_courier.id= 1");but,它只显示一个固定的id,即使我没有搜索行。
从下面的图片。如果我搜索AWB567890,我只想在圆圈中得到邮政、电子邮件、电话等的值。
这是我的search.php
<form class="form-inline justify-content-center my-5 subsribe-rounded" action="result.php" method="post">
<div class="form-group">
<input type="text" name="order_inv" class="form-control px-4 u-rounded-50 u-h-55" placeholder="shipping number Ej:(AWB-100000001)" required>
</div>
<button type="submit" name="submit" class="btn btn-rounded btn-primary u-h-55">
Search Tracking
</button>
</form>和result.php
$res = mysqli_query($connz,"SELECT * FROM add_courier WHERE `add_courier`.`id` = 1");
while($row=mysqli_fetch_array($res)){
$tracking = $row['tracking'];
$s_name = $row['s_name'];
$phone = $row['phone'];
$address = $row['address'];
$_SESSION['id'] = $row['id'];
}发布于 2019-12-19 11:54:33
也许结果没有显示出来,因为你混淆了fetch_array和fetch_assoc。
对于fetch_array,您使用数字索引来表示结果。
$row = mysqli_fetch_array($res);
$res1 = $row[0];对于fetch_assoc,您使用column_name作为结果的索引。
$row = mysqli_fetch_assoc($res);
$res1 = $row['id'];所以您在result.php中的代码必须是
$res = mysqli_query($connz,"SELECT * FROM add_courier WHERE `add_courier`.`id` = 1");
while($row=mysqli_fetch_assoc($res)){
$tracking = $row['tracking'];
$s_name = $row['s_name'];
$phone = $row['phone'];
$address = $row['address'];
$_SESSION['id'] = $row['id'];
}否则,尝试打印您的查询结果,以了解mysql是否没有返回它,或者它必须与您的php用法一起使用。
var_dump($res);或
print_r($res);https://stackoverflow.com/questions/59408868
复制相似问题