PHPの勉強を開始してコツコツ頑張ってます。初心者にとってエラー修正がとても大変。それで挫折する人もいるでしょう。気持ちはわかります!
今回のエラーは
データベースに登録する部分を作成中です。
そこでエラーにつかまり、頭をかかえます。
そのコードがこちら。
- $sql = $pdo->prepare("INSERT INTO airportstamp (userid,username,airportid,date,stampimage,memo,editdate)
- VALUES (:userid,:username,:airportid,:date,stampimage,:memo,:editdate)");
- $sql->bindValue( ':userid', $userid);
- $sql->bindValue( ':username', $username);
- $sql->bindValue( ':airportid', $airportid);
- $sql->bindValue( ':date', $date);
- $sql->bindValue( ':stampimage', $image_dir.$filerename);
- $sql->bindValue( ':memo', $memo);
- $sql->bindValue( ':editdate', $editdate);
- $sql->execute();
airportstampというデータベースにデータを追加していきます。
これがエラーに引っ掛かりどうにもわからない。
エラーの内容を確認すると
追加しようとする項目(1、2行目)とセットしている項目(3~9行目)の数が違うということらしい。
見直し
スペルの見直しやbindValueをbindParamにしてみたり。
途中にVer_dumpを入れて変数の中身を確認してみたり。
こんどは違うエラーが出たりして、ぜんぜんエラーが消えないし動かない。
もぉダメだ~~
そう思っていたとき!
気が付きました!
エラーの原因を特定
PHPのわかる方はとっくにお気づきでしょう。
誤)2行目 :date,stampimage
正)2行目 :date,:stampimage
「:」が抜けてました。
ひぃぃぃ~~~~
このエラーで悩むこと2日。
時間かかりすぎでしょう!
まだまだ勉強です。
まとめ
いや~~我ながら「なにやってるんだ!」と怒りたくなりますね。
勉強は難しくて挫折しそうになるけど、自分の思うとおりに動いてくれると嬉しいです。
データベース登録ができたので、少しずつですが進んでます。