ホームページ  >  記事  >  バックエンド開発  >  クエリ結果が 0 レコードであることを確認する方法

クエリ結果が 0 レコードであることを確認する方法

WBOY
WBOYオリジナル
2016-06-13 13:38:431263ブラウズ

クエリ結果が 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) //クエリに戻る行数。
------解決策---------

話し合う
mysql_num_rows() は結果セット内の行数を取得します。
1 が返される理由は、count() の特殊な性質によるものです。 あなたが言ったように、データベースにこのレコードがない場合、mysql_fetch_row($result) は false を返すはずです。そして
$result = count(false);
// $result == 1

------解決策---------
PHP コード

//データベースにこのレコードがあるかどうかを知るには、ここで何をすべきでしょうか?
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>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。