Php 无法更新表

Php 无法更新表,php,mysql,mysql-error-1064,Php,Mysql,Mysql Error 1064,我有三张桌子: 车辆记录 保险 道路税 虽然我成功地更新了vehicle\u record表,但无法更新其他两个表 运行查询时,将显示以下错误消息: 1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“WHERE regno='TAC 2123'附近要使用的正确语法 从错误消息中,我怀疑您有日期类型为字符串的密钥。在将其放入查询之前,应先转义所有值 我建议你试试。这个库是多数据库的,可以帮助您轻松地进行插入和更新。使用以下工具进行更新的示例: 通过在将值放入查询之

我有三张桌子:

  • 车辆记录
  • 保险
  • 道路税
  • 虽然我成功地更新了
    vehicle\u record
    表,但无法更新其他两个表

    运行查询时,将显示以下错误消息:

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


    从错误消息中,我怀疑您有日期类型为字符串的密钥。在将其放入查询之前,应先转义所有值

    我建议你试试。这个库是多数据库的,可以帮助您轻松地进行插入和更新。使用以下工具进行更新的示例:

    通过在将值放入查询之前对其进行转义,可以防止SQL注入攻击。使用Autoexecute执行,则值的转义是由自动执行的


    对于字符串类型的键,必须手动执行此操作。如果键是整数,则使用
    intval
    比使用
    $adodb->qstr()

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

    您需要发布产生错误的代码
    $regno = $adodb->qstr('TAC 2123');
    $data = array(
     'col1' => 'val1',
     'col2' => 'val2',
     'col3' => 'val3'
    );
    $result = $adodb->AutoExecute($tablename, $data, 'UPDATE', "regno=$regno");