-1

私の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()れ、質問で編集したとおりに追加しました。

4

2 に答える 2

2

クエリでエラーチェックを行っていません。クエリエラーが発生するとブール値が返され、スクリプトが表示どおりに破損するため、呼び出し後にこれを行う必要があります。mysql_query()false

クエリにエラーチェックを追加します。これを行う方法は、このリファレンス質問のマニュアルmysql_query()またはこのリファレンス質問に概説されています

于 2012-02-04T19:01:21.437 に答える