PDO を使用して mysql に日付型の値を挿入する際に問題が発生しています
コードスニペット :
$HOST = 'localhost';
$DATABASE = 'db';
$USERNAME = 'XXXXXX';
$PASSWORD = 'XXXXXX';
$DBH = new PDO("mysql:host=$HOST;dbname=$DATABASE;charset=utf8",$USERNAME,$PASSWORD);
$DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$incomingdate = date('Y-m-d', time()); // this echoes 2013-07-03
$name = "XYZ";
try {
$stmt = $DBH->query('INSERT INTO tablename (date ,name ) VALUES (?, ?)');
$stmt->execute(array($incomingdate, $name ));
$row_count = $stmt->rowCount();
echo $row_count.' rows selected';
}
catch(PDOException $e ){
echo 'Error in executing query ...';
file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
}
日付列の mysql データベース側のデータ型はDATEです。
エラー : 以下は PDOErrors.txt の内容です SQLSTATE[HY000]: 一般エラー: 2031
このクエリの何が問題なのですか....mysql_*関数を使用すると、以前のクエリはスムーズに実行されました...では、準備されたステートメントの何が問題なのですか??? また....データ型がタイムスタンプ型および/または mysqlの終わりの日時型である場合はどうすればよいですか