PHP では、ステートメントに節を含めるwhile
ことはできません。少なくとも 1 回実行されたかどうかをelse
示す外部の何かが必要です。while
このようなものはどうですか?
$total = mysql_num_rows($gamesearched);
if ($total > 0) {
while (($write=mysql_fetch_array($gamesearched)) !== false) {
echo "Found!";
}
} else {
echo "No results";
}
この場合、開始前に検出された行の総数を調べましたが、カウンターをゼロに設定してから while ループ内でインクリメントすることから開始することもできました。それは次のようになります。
$total = 0;
while (($write=mysql_fetch_array($gamesearched)) !== false) {
$total++;
echo "Found!";
}
if ($total == 0) {
echo "No results";
}
これ以上行がない場合にmysql_fetch_array()
返されることに注意してください。そのため、while 条件も更新しました。false
そうは言ってもmysql_*
、新しいコードで関数を使用しないのには十分な理由があります。詳細といくつかのより良い代替手段については、この質問を参照してください:なぜ PHP で mysql_* 関数を使用しないのですか?