【问题标题】:SELECT statement returns first row instead of record that is looked upSELECT 语句返回第一行而不是查找的记录
【发布时间】:2016-12-16 19:51:00
【问题描述】:

我正在尝试从我的数据库中选择一条记录,但我返回的是表中的第一个记录。无论我尝试什么,第一个都会返回。

这是查询:

$query_task_owner = "select user_id from users where full_name = '$c_task_owner_name'";
$response = @mysqli_query($dbc, $query_task_owner);

然后我尝试测试以查看返回的值:

echo $response or die(mysql_error());

这是我看到第一行的 user_id 的地方。

即使我尝试在查询中输入特定值,如下所示,我得到相同的结果:

$query_task_owner = "select user_id from users where full_name = 'LeBron James'";

我不明白,因为当我直接在 PHPMyAdmin 中尝试此查询时,我得到了正确的结果。所以查询本身是正确的。

有什么想法吗?

【问题讨论】:

    标签: php mysql sql select phpmyadmin


    【解决方案1】:

    使用mysqli_fetch_array()获取$response

    <?php
    $query_task_owner = "select user_id from users where full_name = '$c_task_owner_name'";
    $response = @mysqli_query($dbc, $query_task_owner);
    $row = mysqli_fetch_array($response,MYSQLI_ASSOC);
    echo $row['user_id'];
    ?>
    

    如果,用户与full name 的相关性更高。然后,使用while loopfetch 全部记录。

    <?php
    $query_task_owner = "select user_id from users where full_name = '$c_task_owner_name'";
    $response = @mysqli_query($dbc, $query_task_owner);
    while($row = mysqli_fetch_array($response,MYSQLI_ASSOC))
    {
      echo $row['user_id']."<br>";
    }
    ?>
    

    【讨论】:

    • 你做的都是正确的。只是错过了获取。 没问题,每个人都会这样。 享受编码 @Armand
    • 是的 1 件简单的事情如果省略就会毁掉一切!再次感谢:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    • 2021-09-12
    • 2014-01-01
    • 1970-01-01
    相关资源
    最近更新 更多