カレンダー付箋ボード

カレンダーと付箋ボードのWindowsアプリ完成!

詳細はこちら

【初心者】PHPエラー修正あるある!?時間の使いすぎだ。

PHPの勉強を開始してコツコツ頑張ってます。初心者にとってエラー修正がとても大変。それで挫折する人もいるでしょう。気持ちはわかります!

今回のエラーは

データベースに登録する部分を作成中です。
そこでエラーにつかまり、頭をかかえます。
そのコードがこちら。

  1. $sql = $pdo->prepare("INSERT INTO airportstamp (userid,username,airportid,date,stampimage,memo,editdate)
  2.                 VALUES (:userid,:username,:airportid,:date,stampimage,:memo,:editdate)");
  3.               $sql->bindValue( ':userid', $userid);
  4.               $sql->bindValue( ':username', $username);
  5.               $sql->bindValue( ':airportid', $airportid);
  6.               $sql->bindValue( ':date', $date);
  7.               $sql->bindValue( ':stampimage', $image_dir.$filerename);
  8.               $sql->bindValue( ':memo', $memo);
  9.               $sql->bindValue( ':editdate', $editdate);
  10.               $sql->execute();

airportstampというデータベースにデータを追加していきます。

これがエラーに引っ掛かりどうにもわからない。
エラーの内容を確認すると
追加しようとする項目(1、2行目)とセットしている項目(3~9行目)の数が違うということらしい。

見直し

スペルの見直しやbindValueをbindParamにしてみたり。
途中にVer_dumpを入れて変数の中身を確認してみたり。

こんどは違うエラーが出たりして、ぜんぜんエラーが消えないし動かない。
もぉダメだ~~

そう思っていたとき!
気が付きました!

エラーの原因を特定

PHPのわかる方はとっくにお気づきでしょう。

誤)2行目 :date,stampimage
正)2行目 :date,:stampimage

「:」が抜けてました。

ひぃぃぃ~~~~

このエラーで悩むこと2日。
時間かかりすぎでしょう!
まだまだ勉強です。

まとめ

いや~~我ながら「なにやってるんだ!」と怒りたくなりますね。

勉強は難しくて挫折しそうになるけど、自分の思うとおりに動いてくれると嬉しいです。

データベース登録ができたので、少しずつですが進んでます。