前提・実現したいこと
var_dump();で変数の中身の調べ方を教えて下さい。
今、PHPでユーザー登録フォームを作っています。
その中でEmailの重複チェックのバリデーション関数を作っているのですが、新規のメールアドレスを入力しても登録されていることになり、データベースへの登録ができません。
各変数に何が入っているのかがわかれば活路が開くかも?と思い、var_dump();を使いたいのですが、使い方が悪いのか画面に何も表示されません。
発生している問題・エラーメッセージ
Emailフォームにメールアドレスを入力するとエラーメッセージ【MSG08】に設定した、「そのEmailはすでに登録されています」という文言が表示されてしまいます。
(登録したメールアドレスは、初めて登録するメールアドレスです)
以下の関数内での変数の調べ方を教えて下さい!
エラーメッセージ
該当のソースコード
function validEmailDup($email){ var_dump("デバック2"); global $err_msg; //例外処理 try{ //DBへ接続 $dbh = dbConnect(); //SQL文作成 $sql = 'SELECT count(*) FROM users WHERE email = :email'; $data = array(':email' => $email); //クエリ実行 $stmt = queryPost($dbh, $sql, $data); //クエリ結果の値を取得 $result = $stmt->fetch(PDO::FETCH_ASSOC); if(!empty($result)){ $err_msg['email'] = MSG08; } } catch (Exception $e) { error_log('エラー発生' . $e->getMessage()); $err_msg['common'] = MSG07; } }
試したこと
以下、やってみたことです。
・phpMyAdminから直接レコードの挿入はできた。
・usersテーブルのNULLを入れられる部分に入れた。
・PDO::ERRMODE_SILENTを
PDO::ERRMODE_WARNING
に変更し
php.log
mysql__error_log.err
apache_error.log
php_error.log
を確認。
mysql__error_log.errにて
MySQLのアップデートを促すエラー分が出たため、アップデートを完了しました。
その後、再度Emailフォームにメールアドレスを入力しても
「そのEmailはすでに登録されています」
というエラーメッセージが出て、データベースに保存がされません。
各ログにもエラーが出ず、どう対処すればよいかわかりません。
補足情報(FW/ツールのバージョンなど)
データベースはMAMP phpMyAdmin
パソコン環境はmacOS High Sierra
ブラウザはGoogleChome
使用エディタはBrackets
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。