mysql fetch数组一直返回false
Posted
技术标签:
【中文标题】mysql fetch数组一直返回false【英文标题】:mysql fetch array keep returning false 【发布时间】:2014-02-22 08:03:03 【问题描述】:function get_subject_by_id($subject_id)
global $connection;
$query = "SELECT * ";
$query .= "FROM subjects ";
$query .= "WHERE 'id' =$subject_id ";
$query .= "LIMIT 1 ";
$result_set = mysql_query($query, $connection);
confirm_query($result_set);
// if no rows are returned fetch_array will return false
if(!is_null($result_set))
echo "got here";
echo $result_set;
if($subject=mysql_fetch_array($result_set)) // not working properly
echo "testing fetch array";
return $subject;
else
return NULL;
尽管我的表中有 3 个项目,但 fetch 查询一直返回 false。一些代码显然是在测试我是否得到了结果,并且这些都可以工作,但是 fetch 数组没有执行 if 语句,因为它认为它是错误的。请帮忙几个小时的无奈属于这个问题
【问题讨论】:
【参考方案1】:您的查询中有错误的引号类型,它们应该是反引号:
$query .= "WHERE `id` =$subject_id ";
^ ^
引号使id
成为字符串,而不是列名。由于字符串id
永远不会等于$subject_id
,因此查询不会返回任何内容。
【讨论】:
感谢您的分享,为什么它不起作用这解决了我在客户端遇到的问题更有意义。谢谢。【参考方案2】:我认为这是因为 id 列用单引号而不是反引号括起来
$query .= "WHERE 'id' =$subject_id ";
应该是
$query .= "WHERE id =$subject_id ";
或者
$query .= "WHERE `id` =$subject_id ";
【讨论】:
以上是关于mysql fetch数组一直返回false的主要内容,如果未能解决你的问题,请参考以下文章
PHP mysqli_fetch_assoc 没有返回正确的值