php -> MYSQL запрос не может понять, что не так, получая ошибку # 1064 - PullRequest
2 голосов
/ 03 ноября 2011

Я пытаюсь вставить некоторые значения в таблицу, запрос ниже:

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).

Однако, когда я запускаю вставку с помощью PHPMYAdmin, она вставляет значение и генерируется запрос

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

Единственное отличие, которое я вижу, это цитаты, которые, я не верю, необходимы. Я не понимаю, где я иду не так, и сейчас ломаю голову:):)

Ответы [ 2 ]

4 голосов
/ 04 ноября 2011

Бэктики нужны около desc, потому что это зарезервированное слово .

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

Также нет вреда, если вы добавляете бэктики вокруг имен других столбцов, если вы нене уверены, являются ли они зарезервированными словами.

0 голосов
/ 04 ноября 2011

Вот список слов, которые зарезервированы и нуждаются в обратном кавычке: http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

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