http://q.hatena.ne.jp/1429322382

に関連した質問です。

環境:MySQL5.6.21,PHP5.6.2,Apache2.4,Windows8.0

下記サイトのようなプログラムを書き、
http://1811way.com/work008/sample003.txt

実行したところ
MySQLにデータを書きません。
エラーも出ません。

phpmyadmin上のインデックスサイズ
がよく理解できていないように思います。
*他かもしれません。

インデックスサイズをphpmyadminで変更する方法
もしくは参照した構文で間違っているところがあれば
教えていただけると助かります。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2015/12/23 10:24:39
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:pyopyopyo No.1

回答回数377ベストアンサー獲得回数98

ポイント200pt

prepare statement の行が間違っていませんか?

末尾に ");" が不足していると思います

正しくは

$stmt = $dbh->prepare("insert into test01 (naiyou01,month1,day1) values (:naiyou01,:month1,:day1);");

だと思います

id:kohhi

早速ご回答ありがとうございました。できました。

2015/12/23 10:20:15

その他の回答1件)

id:pyopyopyo No.1

回答回数377ベストアンサー獲得回数98ここでベストアンサー

ポイント200pt

prepare statement の行が間違っていませんか?

末尾に ");" が不足していると思います

正しくは

$stmt = $dbh->prepare("insert into test01 (naiyou01,month1,day1) values (:naiyou01,:month1,:day1);");

だと思います

id:kohhi

早速ご回答ありがとうございました。できました。

2015/12/23 10:20:15
id:nokogiri44 No.2

回答回数32ベストアンサー獲得回数9

ポイント150pt

私もSQLが間違っているのだと思います。
以下のようにprepareからexecまでをtry-catchしてみれば例外が出ているのではないでしょうか。

try {
    //prepare statement を準備
    $stmt = $dbh->prepare("insert into test01 (naiyou01,month1,day1) values (:naiyou01,:month1,:day1");

    $bun = 'あいうえお';
    $month = '12';
    $day = '29';


    //プレイスフォルダーを準備
    $stmt->bindParam(":naiyou01",$bun);
    $stmt->bindParam(":month1",$month);
    $stmt->bindParam(":day1",$day);

    //書き込みを行う(SQLを実行)
    $stmt->execute();
} catch (PDOException $e) {
    var_dump($e->getMessage());
    exit;
}
id:kohhi

ありがとうございます。ご指摘の通りでした。

2015/12/23 10:21:10

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません