mysql_num_rows()给出一个BOOL值



我的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.9wwwadminindex.php on line 101

EDIT:我在查询ORDER BY之前的LIMIT 5。现在它已经修复,我添加了问题中编辑的echo mysql_error()

您没有在查询中进行任何错误检查。在mysql_query()调用后,需要执行此操作,因为在查询错误时,它将返回布尔false,并且脚本将完全按照您显示的方式中断。

将错误检查添加到查询中。mysql_query()手册或本参考问题中概述了如何做到这一点。

因为$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());
}

相关内容

  • 没有找到相关文章

最新更新