最も簡単な方法はmysql_num_rows()です。
$cnt = mysql_num_rows($Result);
if (0===$cnt) {
echo 'no records';
}
else {
while(false!=($row=mysql_fetch_array($Result))) {
// ...
}
}
しかし、この機能は、これまでクライアントへのMySQLサーバから転送されたレコードの数を返すことに注意してください。それは必ずしも総レコード数ではありません。限り、mysql_query()を使用している限り、それは問題ありません。しかし、あなたがmysql_fetch_xyz()を呼び出す前にレコードが転送されていないので、あなたはmysql_unbuffered_query()を使用したいかもしれない大きな結果セットを作成し、mysql_num_rows()を目的に使用することはできません。
しかし、その代わりに、あなたは今、あなたはカウンターのように余分な変数を持って
$cnt = 0;
while(false!=($row=mysql_fetch_array($Result))) {
$cnt += 1;
// ...
}
if (0===$cnt) {
echo 'no records';
}
のようなものを使用することができます。あなたは(ライン... $ xに=フェッチ)ことを避け、代わりにあなたが余分な変数を持っていないが、いくつかのコードの重複は、そのアプローチで
$row = mysql_fetch_array($Result);
if (!$row) {
echo 'no records';
}
else {
do {
// ...
} while(false!=($row=mysql_fetch_array($Result))) ;
}
のようなものを使用することをお勧めします。
...あなたの選択を;-)
"空"とはどういう意味ですか? – VolkerK
mysql拡張機能は古くなっており、廃止予定です。代わりに、新しいコードではmysqliまたはPDOを使用する必要があり、どちらも準備済みの文などの重要な利点があります。 – outis