Я пытаюсь добавить две простые строки и одну дату на SQL Server, используя PDO в PHP. В настоящее время я использую следующий код:
$data = array(
'Omschrijving' => 'Mijn mooie omschrijving...',
'Toelichting' => 'Mijn leuke toelichting...'
);
# Insert data
$STH = $DBH->prepare("INSERT INTO memo (Datum, Omschrijving, Toelichting) VALUES (NOW(), :Omschrijving, :Toelichting)");
$STH->execute($data);
Он отлично работает без даты, но по какой-то причине он дает мне следующую ошибку, когда я пытаюсь добавить дату:
SQLSTATE [42000]: Синтаксическая ошибка или нарушение доступа: 8180 [FreeTDS] [SQL Server] Заявления не могут быть подготовлены. (SQLExecute [8180] в /builddir/build/BUILD/php-5.6.9/ext/pdo_odbc/odbc_stmt.c:254)
Кто-нибудь знает, что я делаю неправильно?
Заранее спасибо!
Now()
- это функция MySQL. GetDate()
- эквивалент sql-сервера. Вот их документация по этой функции, https://msdn.microsoft.com/en-us/library/ms188383.aspx.
Таким образом, код должен стать:
$data = array(
'Omschrijving' => 'Mijn mooie omschrijving...',
'Toelichting' => 'Mijn leuke toelichting...'
);
# Insert data
$STH = $DBH->prepare("INSERT INTO memo (Datum, Omschrijving, Toelichting) VALUES (GETDATE(), :Omschrijving, :Toelichting)");
$STH->execute($data);