【问题标题】:SQL syntax near, not the right use [duplicate]SQL语法接近,不正确使用[重复]
【发布时间】:2014-12-09 20:51:07
【问题描述】:

错误:

您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 在第 1 行的 'Desc='Legenday Films' WHERE ID='3'' 附近

在:

$mysqli->query("UPDATE conf_src SET Name='$CSRC', Desc='$CSRCD' WHERE ID='$ssID'")

$CSRC 是源“LEGEND”的名称

$CSRCD 是源“传奇电影”的描述

【问题讨论】:

  • DESC 是 mysql 中的 reserved word。使用反引号转义字段名称。

标签: php mysql sql


【解决方案1】:

desc 是 MySQL 保留字

需要用反引号包裹

`Desc`='$CSRCD'

要么这样做,要么将其重命名为其他名称,例如 Description

有关完整列表,请访问 MySQL.com 网站:

为了避免以后使用另一个保留字。

【讨论】:

    【解决方案2】:

    desc 是 SQL 中用于降序或描述的关键字,您必须使用反引号来引用它们。

     UPDATE conf_src SET Name='$CSRC', `Desc`='$CSRCD' WHERE ID='$ssID'
    

    【讨论】:

      【解决方案3】:

      Desc 是一个保留字,所以需要使用 backtique 来转义

      `Desc`
      

      如果不确定,请考虑转义选择列表中的所有列以及表名(考虑首先参考 MySQL 规范)

      UPDATE `conf_src` SET `Name`='$CSRC', `Desc`='$CSRCD' WHERE `ID`='$ssID'
      

      【讨论】:

        猜你喜欢
        • 2019-03-08
        • 1970-01-01
        • 2016-03-21
        • 2020-01-14
        • 1970-01-01
        • 1970-01-01
        • 2017-02-07
        • 2018-02-25
        • 2018-06-26
        相关资源
        最近更新 更多