我如何从数据库表中获取行的列

时间:2019-12-19 11:29:20

标签: php mysql database

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

enter image description here如果要找到结果,我想获取我搜索的行中其他列的值。我做了这个$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'];

 }

1 个答案:

答案 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);