- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:チェックする方法)
プログラム初心者の方へ:効率的なデータベースの登録情報の重複チェック方法
このQ&Aのポイント
- プログラム初心者の方へ:データベースに登録情報の重複をチェックする方法について解説します。
- 一回のSQL発行で名前とメールの重複チェックを行いたい場合、mysqli_query関数を使用して名前とメールをそれぞれチェックすることができます。
- 取得した名前とメールのデータが重複している場合は、例外をスローすることで重複エラーを処理することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#244856
回答No.1
提示されたコードにおかしい点が含まれているのでそれも直しつつ1つにまとめました。 $result = mysqli_query($link, sprintf( 'SELECT name, mail FROM table WHERE name="%s" OR mail="%s"', mysqli_real_escape_string($link, $name), mysqli_real_escape_string($link, $mail) )); while ($row = mysqli_fetch_assoc($result)) { if ($name === $row['name'] && $mail === $row['mail']) { throw new Exception('その名前とメールアドレスは既に登録されています'); } elseif ($name === $row['name']) { throw new Exception('その名前は既に登録されています'); } elseif ($mail === $row['mail']) { throw new Exception('そのメールアドレスは既に登録されています'); } }
お礼
わかりやすい回答ありがとうございます 動きました おかげでコードがまとまってすっきりしました。ありがとうございます