php -> MYSQL 查询无法找出问题所在,出现错误 #1064

标签 php mysql mysql-error-1064

我正在尝试在下面的查询表中插入一些值:

Insert into 
auditlog (
          event,
          desc,
          userid,
          useripaddress,
          audittype
)
VALUES (
         'User Authenticated', 
         'Useradminsuccessfully logged in to the system', 
         '1', 
         '127.0.0.1','1'
) 

它给了我以下错误: #1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 'desc,userid,useripaddress,audittype)VALUES ('User Authenticated', 'User admin su' at line 1

附近使用的正确语法

但是,当我使用 PHPMYAdmin 运行插入时,它确实插入了一个值,并且生成的查询是

INSERT INTO 
     `auditlog`(
              `event`, 
              `desc`, 
              `userid`, 
              `useripaddress`, 
              `audittype`) 
     VALUES (
              'User Authenticated', 
              'Useradminsuccessfully logged in to the system', 
              '1', 
              '127.0.0.1','1'
     ) 

我看到的唯一区别是我认为不需要的引号。我不明白我哪里出了问题,现在我很头疼:):)

最佳答案

desc 周围需要反引号,因为它是 reserved word .

INSERT INTO auditlog (event, `desc`, userid, useripaddress, audittype)
VALUES (
    'User Authenticated',
    'Useradminsuccessfully logged in to the system',
    '1',
    '127.0.0.1',
    '1'
) 

如果您不确定其他列名称是否是保留字,则在它们周围添加反引号也没有什么坏处。

关于php -> MYSQL 查询无法找出问题所在,出现错误 #1064,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8001066/

相关文章:

php - 需要有关建立数据库的建议。全部放在一张 table 上还是分开?

MYSQL:为每一行构建一个字符串的递归过程

mysql - 我的 MySQL 语句有什么问题?

mysql - ERROR 1582 (42000) 调用 native 函数时参数计数不正确 'FROM_UNIXTIME'

php mysqli_query 拒绝用户访问

php - 如何检查服务器是否能够处理 SOAP 请求

php - 使用 PHP 提取括号内的时间

php - Joomla 数据库导入不起作用

mysql - 仅为单个数据库设置root无密码

c++ - 从 C++ 使用 MySQL 控制结构