以下のコードは、名前がすでにデータベースに存在するかどうかをチェックし、既に存在する場合はブール値を設定します。しかし、名前が存在しない場合でもブール値を設定します。私はこれを何度も確認しました。だから私のコードは間違っているはずだと思います。私は、この行がすべてで見つかった結果があったかどうかをチェックしていると思いますPHPのifステートメント内のvarに代入する
if ($row = mysql_fetch_assoc($result))
を参照するには、チェックとして以下の行を理解しています。結果が見つかった場合、条件式はTRUEと評価されるため、$row
が割り当てられます。あれは正しいですか?
コードやその他の問題が発生していますか?私はmysql_query
が含まれている行が疑わしいです。データベースのテーブルにない名前を検索すると、それはまだif
ブロックに入ります。
$udid_mismatch = false;
$name_found = false;
$result = mysql_query("SELECT udid
FROM $table
WHERE name='$name'");
if($row = mysql_fetch_assoc($result)) {
$name_found = true;
if($row['udid'] != $udid) {
$udid_mismatch = true;
}
}
正常に動作するはずです。 mysql_num_rowsを確認してみてください。 –