ェック(MSG08)のみバリデーションされずに,スル...
①入力されたメールアドレスの件数を取得する
②0件以上であればエラーメッセージMSG08を設定する
となりますね。
次に①②について詳しくみてみましょう。
①について
件数を取得するSQLですが、SERECT ではなくSELECT ですね。
次に取得したい「もの」を考えてみましょう。
今回は件数が取得できればOKなので
「PDO select count(*)」とかでぐぐってみてください。
②について
①で取得した件数を比較すればよいですね
SELECTのスペルミスでした。
スペルを直したところ、解決できました。
お騒がせしました。
ログでエラーが出なかったのは、
' 'で囲ったことで文字列として正しく作動し、そのまま流れてしまったからエラーにならなかったという認識でよろしいでしょうか?
あとはvar_dump駆使してどの部分のコードを通っているのか確認してみるのもよいですね。
そうすればエラーにならなかった原因が深堀りできます。
部活の学習一覧
Lesson 01
「WEBサービスと必要な機能」
Lesson 02
「画面を設計しよう!」
Lesson 03
「テーブルを設計しよう!part1」
Lesson 04
「テーブルを設計しよう!part2」
Lesson 05
「テーブルを設計しよう!part3」
Lesson 06
「DB作成」
Lesson 07
「画面を作ろう!」
Lesson 08
「画面を作ろう!part2」
Lesson 09
「ユーザー登録機能を作ろう!」
Lesson 10
「ユーザー登録機能を作ろう!part2」
コーヒーブレイク
「投資の小話」
Lesson 11
「ログイン機能を作ろう!」
Lesson 12
「ログアウト機能を作ろう!」
Lesson 13
「退会機能を作ろう!」
Lesson 14
「プロフィール編集機能を作ろう!」
コーヒーブレイク
「書いて書いて書きまくれ!」
Lesson 15
「パスワード変更機能を作ろう!」
Lesson 16
「パスワードリマインダー機能を作ろう!」
Lesson 17
「商品登録機能を作ろう!」
Lesson 18
「商品登録機能を作ろう!part2」
Lesson 19
「商品登録機能を作ろう!part3」
Lesson 20
「商品一覧表示機能を作ろう!」
Lesson 21
「商品詳細画面を作ろう!」
Lesson 22
「商品検索機能を作ろう!」
Lesson 23
「連絡掲示板機能を作ろう!」
Lesson 24
「お気に入り機能を作ろう!」
Lesson 25
「マイページ機能を作ろう!」
コーヒーブレイク
「はたらくプログラミング 第5話」
ご意見箱
すでにdb接続は完了しており,新規のメールアドレスであれば登録は問題ありません.
その他のエラーメッセージに関しては確認済みで問題なくバリデーションできています.
また,php_error.logでもエラーは検出されませんでした.
恐らく例外処理がうまく作動されていないと思うのですが,何か考えられる要因はありますでしょうか?
このように入力しています.
function validEmailDup($email){
global $err_msg;
//例外処理
try {
//DB接続
$dbh = dbConnect();
//SQL文作成
$sql = 'SERECT count(*) FROM users WHERE email = :email';
$data = array(':email' => $email);
//クエリ実行
$stmt = queryPost($dbh, $sql, $data);
//クエリ結果の値を取得
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if(!empty($result['count(*)'])){
$err_msg['email'] = MSG08;
}
} catch (Exception $e) {
error_log('エラー発生:' . $e->getMessage());
$err_msg['common'] = MSG07;
}
}
よろしくお願い致します.