ホームページ >バックエンド開発 >PHPチュートリアル >クエリ結果が 0 レコードであることを確認する方法
クエリ結果が 0 レコードであることはどのようにしてわかりますか?
レコードを挿入する前に、データベースにそのようなレコードがあるかどうかを確認したいのですが、実際には、certificatetype='hdfj' を満たすレコードがデータベース テーブルにありません。
$sql=" select * from Customers wherecertificatetype='hdfj'";
$result=mysql_query($sql);
if(!$result)
die mysql_error();
else
{
//データベースにこのレコードがあるかどうかを知るには、ここで何をすべきでしょうか?
//私の次の 2 つのステートメントはなぜ 1 を出力するのでしょうか?
echo count(mysql_fetch_row($result));
echo count($result);
}
------解決策-----------
mysql_num_rows() は結果セット内の行数を取得します。
1 が返される理由は、count() の特殊な性質によるものです。 あなたが言ったように、データベースにこのレコードがない場合、mysql_fetch_row($result) は false を返すはずです。そして
$result = count(false);
// $result == 1
------解決策---------
echo mysql_num_rows($result) //クエリに戻る行数。
------解決策---------
//データベースにこのレコードがあるかどうかを知るには、ここで何をすべきでしょうか? echo mysql_affected_rows();//または echo mysql_num_rows($result); <br><font color="#e78608">------解決策----------------------</font><br>count() 関数の最初のパラメータは次のようにする必要があります。配列またはオブジェクトです。「var が配列でない場合、または...、1 が返されます。PHP マニュアルを参照してください: <br>http://cn2.php.net/manual/en/function.count」 .php <br><font color="#e78608">------解決策---------</font><br>mysql_num_rows はカウントです<br>mysql_fetch_array は mysql_fetch_rows です配列<div class="clear">を返します</div>