не может обновить таблицу - PullRequest
0 голосов
/ 17 февраля 2010

У меня есть 3 таблицы:

  1. Vehicle_record
  2. Страхование
  3. Roadtax

Хотя мне удалось обновить таблицу vehicle_record, две другие таблицы не могут быть обновлены.

Когда я запускаю запрос, появляется следующее сообщение об ошибке:

1064 - у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса, чтобы использовать рядом с 'WHERE regno =' TAC 2123 '' в строке 1

Ответы [ 2 ]

0 голосов
/ 18 февраля 2010

Чтобы мы могли вам здесь помочь, вам необходимо предоставить полный текст оператора SQL, который отправляется на сервер. Вставьте это как часть вашего вопроса.

0 голосов
/ 18 февраля 2010

Из сообщения об ошибке я подозреваю, что у вас есть ключ с указанием даты в виде строки. Вы должны экранировать все значения, прежде чем помещать их в запрос.

Предлагаю попробовать Библиотека 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().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...