我有一个名为 search.php 的表单,该表单搜索数据库列 order_niv
如果要找到结果,我想获取我搜索的行中其他列的值。我做了这个$res = mysqli_query($connz,"SELECT * FROM add_courier WHERE
add_courier .
id = 1");
,但是即使我没有搜索该行,它也只显示一个固定的 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'];
}
答案 0 :(得分:1)
也许结果没有显示出您正在将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);