• DBにINSERT
    されずに「デバッグ:クエリに失敗しました。」となるの...
  • guest 
    DBにINSERTされずに「デバッグ:クエリに失敗しました。」となるのですが、
    この場合SQL文が間違えている以外にどんな可能性があるか教えていただけますでしょうか。

    else{
    debug('DB新規登録です。');
    $sql = 'insert into product (name, category_id, price, comment, pic1, pic2, pic3, user_id, create_date) values (:name, :category, :price, :comment, :pic1, :pic2, :pic3, :u_id, :date)';
    $data = array(':name' => $name, ':category' => $category, ':price' => $price, ':comment' => $comment, ':pic1' => $pic1, ':pic2' => $pic2, ':pic3' => $pic3, ':u_id' => $_SESSION['user_id'], ':date' => date('Y-m-d H:i:s'));

    INSERT INTOとVALUESを大文字にしてみたり、カラムの順番をDBの順番と同じになるようにしたり色々試してみてますが変化なく、何時間も詰まってます。。

    デバッグ(バリデーションOK〜)は下記のような感じになってます。
    [14-Jul-2019 03:15:00 UTC] デバッグ:バリデーションOKです。
    [14-Jul-2019 03:15:00 UTC] デバッグ:DB新規登録です。
    [14-Jul-2019 03:15:00 UTC] デバッグ:SQL:insert into product (name, category_id, price, comment, pic1, pic2, pic3, user_id, create_date) values (:name, :category, :price, :comment, :pic1, :pic2, :pic3, :u_id, :date)
    [14-Jul-2019 03:15:00 UTC] デバッグ:流し込みデータ:Array
    (
    [:name] => テスト
    [:category] => 1
    [:price] => 0
    [:comment] =>
    [:pic1] =>
    [:pic2] =>
    [:pic3] =>
    [:u_id] => 9
    [:date] => 2019-07-14 03:15:00
    )

    [14-Jul-2019 03:15:00 UTC] デバッグ:クエリに失敗しました。
    回答 1

    ウェブカツコーチ 
    講師からの回答
    ログの流し込みデータ部分でコメントやpicが入っていないのはフォームで入力していないためでしょうか。
    そうであれば、ざっとSQL文を見たところSQL文自体は問題ないと思います。
    頂いた情報だけではなんとも言えませんが、ログを見る限り引っかかっている部分は「queryPost」です。
    その辺りの関数や記入内容をもう一度確認してみてください。

    guest 
    ご回答ありがとうございます。
    コメントやpicが入っていないのはフォームで入力していなかったためです。

    queryPostも何度も見返し、色々書き換えてみたりしたのですが解決せず、
    データベースのNullチェックを入れたりしていたら解決しました!

    コードが間違ってるとばかり思っておりデータベースの方が原因だとは思っておらず、無駄に時間をかけてしまいました。。。

    これからデータベースに登録されないなどのエラーが出た時はこちらの方もチェックすることを忘れないようにしたいと思います。