ウェブサイトを登録しているユーザーが、誰も入力していない一意の16桁の番号を入力したことを確認する必要があります。MySQLとPHPを使用したユニークな入力確認
関連するデータベース情報は、16桁の番号は、テーブル全体の名前はusers
で、ユーザが入力した番号が$card1
に格納され、card1
という列に格納されていることです。ここで
は
$query2 = "SELECT card1 FROM users WHERE card1='$card1' LIMIT 1";
$result2 = smart_mysql_query($query2);
if (mysql_num_rows($result2) != 0)
{
header ("Location: register.php?msg=exists");
exit();
}
アイデアは、それがデータベースにすでに任意の例を見つけることです...私がこれまで持っているものであり、それは重複が見つかった場合、それが表示され、エラーメッセージが表示されます。
問題は、重複があっても登録を続けて(登録フォームをDBに提出できるようにする)ことです。このコードブロックの直後に、フォームから収集されたすべてのユーザー情報を含むdbへの挿入呼び出しが行われます。
注:私はPHPエラーメッセージの処理に慣れていません。私が使ったことは、サンプルコードの別のインスタンスで見つかった例です。
を試してみてください。異なるif文は何を達成しますか? – Mike
mysqlデータベースが0行を返すと、PHPスクリプトはbooleanを返します。これはfalseに設定されます。このif文は、クエリの結果がfalseであるかどうか、およびエラーをスローしたかどうかをチェックします。 – Manuel
新しいコードを試してください。私はクエリを少し変更し、smart_mysql_queryはmysql_queryになりました – Manuel