我的PHP中有这个查询:
<?php
$comments_list = mysql_query("SELECT * FROM comments ORDER BY `date` DESC, `time` DESC LIMIT 5");
echo mysql_error();
if (mysql_num_rows($comments_list) != 0)
{
echo('<ul>');
while ($comment = mysql_fetch_array($comments_list))
{
echo('<li>'.substr($comment['content'],0,70).'</li>');
}
echo('</ul>');
}
else
{
echo('<center>No comment.</center>');
}
?>
如果我的表为空,它会出现此错误:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-5.3.9\www\admin\index.php on line 101
编辑:我在LIMIT 5
之前查询ORDER BY
。现在它已修复,我添加了问题中编辑的echo mysql_error()
。
答案 0 :(得分:2)
您没有在查询中执行任何错误检查。在mysql_query()
调用后,您需要执行此操作,因为在查询错误it will return boolean false
上,您的脚本将完全按照您显示的方式中断。
为您的查询添加错误检查。 manual on mysql_query()
或此reference question.
答案 1 :(得分:0)
由于$comments_list
为false
,请使用mysql_error()
查看错误。
$comments_list = mysql_query("SELECT * FROM comments LIMIT 5 ORDER BY `date` DESC, `time` DESC");
if (!$comments_list ) {
die('Invalid query: ' . mysql_error());
}