SELECT 语句返回第一行而不是查找的记录
Posted
技术标签:
【中文标题】SELECT 语句返回第一行而不是查找的记录【英文标题】:SELECT statement returns first row instead of record that is looked up 【发布时间】: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 中尝试此查询时,我得到了正确的结果。所以查询本身是正确的。
有什么想法吗?
【问题讨论】:
【参考方案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 loop
到fetch
全部记录。
<?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 件简单的事情如果省略就会毁掉一切!再次感谢:-)以上是关于SELECT 语句返回第一行而不是查找的记录的主要内容,如果未能解决你的问题,请参考以下文章
BigQuery SQL Select 返回键值对而不是两个单独的列