Я испытываю проблемы при вставке значения типа даты в MySQL с использованием PDOошибка вставки в MySQL с использованием PDO
фрагмент кода:
$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);
}
Datatype на стороне базы данных MySQL из даты столбца: ДАТА
ошибка: Ниже приводится содержание PDOErrors.txt SQLSTATE [HY000]: Общая ошибка: 2031
Что не так в этом запросе .... более ранний запрос работал ровно, когда я использовал mysql_ * функции ... так что не так с подготовленными операторами ??? А также .... то, что должно быть сделано, если тип данных имеет Timestamp типа и/или DateTime типа на тузд конце
возможный дубликат [Как предотвратить SQL-инъекции в PHP?] (Http://stackoverflow.com/questions/60174/how- to-prevent-sql-injection-in-php) – Strawberry