挙動としてはそのまま登録の処理に移るね。「えっと、どうだろう......。「この場合少し挙動が違って、『メールアドレスが重複しています』っていうメッセージが表示されるんだよね」このWebアプリケーションでは、メールの重複チェックでSQLを呼び出している。メールアドレスをキーとして、データベース内を検索し、データベース内に一致するレコードがあった場合に重複と見なす、という作りだ。具体的には、以下のSQL文でlogin_idを取得できた場合、メールアドレスが重複しているという判断を行う。—(1)この場合、すでにメールアドレスが登録されていれば、「メールアドレスが重複しています」というメッセージが画面上に表示される。'0」を追加した場合を考えてみよう。生成されるSQL文は以下のようになる。—(2)元の条件文の後ろに常に「偽」となる条件文が付いているため、条件文全体として偽という結果になり、重複チェックに引っ掛からないという形になる。従って、すでにメールアドレスが登録されていても、重複チェックには引っ掛からず、そのまま登録処理へ移ってしまう。'1」という文字列を末尾に追加した場合を考えてみよう。この場合、生成されるSQL文は以下のようになる。'hoshino@example.co.jp'」の結果が反映される形になる。(1)の場合と同じ結果になるのである。これら(2)の式と(3)の式の挙動から、入力したSQL文がそのまま処理されてしまったということを知ることが可能になる。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。