无法更新表格

时间:2010-02-17 10:52:14

标签: php mysql mysql-error-1064

我有3张桌子:

  1. Vehicle_record
  2. 保险
  3. Roadtax
  4. 虽然我在更新vehicle_record表时成功,但其他两个表无法更新。

    运行查询时,会出现以下错误消息:

      

    1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第1行'WHERE regno ='TAC 2123'附近使用正确的语法

2 个答案:

答案 0 :(得分:0)

从错误消息中,我怀疑你的日期类型是一个字符串。您应该将所有值转义为将其放入查询中。

我建议你试试AdoDB library。该库是多数据库,可以帮助您轻松进行插入和更新。使用AdoDB进行更新的示例:

$regno = $adodb->qstr('TAC 2123');
$data = array(
 'col1' => 'val1',
 'col2' => 'val2',
 'col3' => 'val3'
);
$result = $adodb->AutoExecute($tablename, $data, 'UPDATE', "regno=$regno");

通过在将值放入查询之前转义该值,可以防止SQL注入。使用AdoDB自动执行执行此操作,然后AdoDB会自动执行值的转义。

对于带字符串类型的键,必须手动执行。如果密钥是整数,则使用intval优先于$adodb->qstr()

答案 1 :(得分:0)

为了让我们在这里为您提供帮助,您需要提供发送到服务器的SQL语句的全文。将其粘贴为问题的一部分。