PHP ОБНОВЛЕНИЕ MSDB datetime памятка Пожалуйста, помогите мне не сойти с ума - PullRequest
1 голос
/ 20 сентября 2011

В PHP я подключаюсь к базе данных доступа через ODBC. Я обновляю несколько полей без проблем, но у меня чертовски много времени заставляет работать два из них.

Первый тип имеет дату / время в доступе.

Второй имеет тип памятки в доступе.

$mdbFilename = "pathTo.mdb";
$cimdb = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);

$sqlInsert = "UPDATE MyTable ";
$sqlInsert .= "SET ";
$sqlInsert .= "Time='07:30:00 AM', ";
$sqlInsert .= "Note='My really long note here...' ";
$sqlInsert .= " WHERE ID=777";
$res = odbc_exec($cimdb, $sqlInsert);

Код выдает .....

UPDATE MyTable SET Time='07:30:00 AM', Note='My really long note here...' WHERE ID=555  

Я пробовал очень много вещей, от приведения к преобразованию, до различных типов пробелов / форматирования. Я действительно надеюсь, что кто-то делал это раньше.

Что мне действительно нужно знать, так это в каком формате помещать данные, чтобы база данных доступа могла принять ввод?

Вот ошибка, которую он выдает ...

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement., SQL state 37000 in SQLExecDirect in H:\web\count\countInject.php on line 116
SQL statement failed with error: 37000: [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.

Большое спасибо за то, что прочитали это, и двойное спасибо, если вы мне поможете =)

1 Ответ

2 голосов
/ 20 сентября 2011

При отладке я считаю полезным разбивать проблемы на наименьшие возможные куски. Например, можно ли отделить обновление даты и времени от обновления памятки, чтобы убедиться, что вы устраняете причину проблемы?

Для значений даты и времени в Access ожидается формат # гггг-мм-дд ЧЧ: ММ: СС # из Форматирование значений даты и времени для доступа SQL Игнорировать бит delphi, просто перевести его в PHP.

Для Мемо это не похоже, что есть какие-то особенные трюки. Однако вы можете столкнуться с неэкранированными круглыми скобками в вашем источнике.

...