2012-02-04 59 views
-1

我在PHP有这个疑问:mysql_num_rows()给出了一个布尔值

<?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

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

+4

-1没有阅读文档。 http://php.net/function.mysql-query.php – 2012-02-04 19:01:25

+1

至于修复你的SQL查询,把LIMIT子句__after__放在ORDER BY子句中 – 2012-02-04 19:03:34

回答

0

因为$comments_listfalse,使用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()); 
} 
相关问题