• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:チェックする方法)

プログラム初心者の方へ:効率的なデータベースの登録情報の重複チェック方法

このQ&Aのポイント
  • プログラム初心者の方へ:データベースに登録情報の重複をチェックする方法について解説します。
  • 一回のSQL発行で名前とメールの重複チェックを行いたい場合、mysqli_query関数を使用して名前とメールをそれぞれチェックすることができます。
  • 取得した名前とメールのデータが重複している場合は、例外をスローすることで重複エラーを処理することができます。

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
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('そのメールアドレスは既に登録されています'); } }

flash0
質問者

お礼

わかりやすい回答ありがとうございます 動きました おかげでコードがまとまってすっきりしました。ありがとうございます

関連するQ&A