Из сообщения об ошибке я подозреваю, что у вас есть ключ с указанием даты в виде строки. Вы должны экранировать все значения, прежде чем помещать их в запрос.
Предлагаю попробовать Библиотека AdoDB . Эта библиотека с несколькими базами данных и поможет вам легко вставлять и обновлять. Пример обновления с использованием AdoDB :
$regno = $adodb->qstr('TAC 2123');
$data = array(
'col1' => 'val1',
'col2' => 'val2',
'col3' => 'val3'
);
$result = $adodb->AutoExecute($tablename, $data, 'UPDATE', "regno=$regno");
Экранируя значение перед тем, как поместить его в запрос, вы можете предотвратить интактное внедрение SQL. Делая это, используя AdoDB Autoexecute, затем сброс значений выполняется автоматически с помощью AdoDB .
Для ключа с типом string вы должны сделать это вручную. Если ключ является целым числом, использование intval
предпочтительнее, чем $adodb->qstr()
.