-1

私はこのPHPコードを持っています:

if ($username) {
    if ($news == 1)
        $int = "9";
    if ($news == 0)
        $int = "12";
}
else
    $int = "9";

$query = mysql_query("SELECT * FROM files WHERE active='1' ORDER BY id DESC LIMIT $int");
require ("scripts/connect.php");
$numrows = mysql_num_rows($query);

しかし、このエラーが発生します($ numrowsで始まる行は69行であることに注意してください)。

警告:mysql_num_rows()は、パラメーター1がリソースであると想定しています。ブール値は/Applications/XAMPP/xamppfiles/htdocs/Site/index.phpの69行目にあります。

私は数を無駄に変える多くの方法を試みました。助けてください!ありがとう!

4

1 に答える 1

3

あなたscripts/connect.phpがデータベース接続を確立する責任があるなら、私は今のようにではなく、その下mysql_query()にいるはずです。また、「クエリは常に成功している」などの仮定はノーノーアプローチであり、予想外の瞬間にひどく打撃を与えるため、エラーの戻り値を使用して常にチェックすることをお勧めします。mysql_error()

require ("scripts/connect.php");
$query = mysql_query("SELECT * FROM files WHERE active='1' ORDER BY id DESC LIMIT $int");
if( $query ) {
  $numrows = mysql_num_rows($query);
  ...
} else {
   die( mysql_error() );
}

mysql拡張機能は非推奨になっていることに注意してください。できるだけ早く、mysqliまたはより洗練されたものに切り替えてください。PDO

于 2012-09-03T23:33:19.560 に答える