Неизвестная ошибка столбца в запросе вставки Mysql - PullRequest
0 голосов
/ 21 февраля 2012
When doing a simple insert into an MYSQL database, I get this error

"Неизвестный столбец 'Af452OtQa' в 'списке полей'"

'Af452OtQa' - это значение, которое я пытаюсь вставить в столбец 'serialnum'. Все переменные установлены из POSTзначения с предыдущей страницы, и все они закодированы в urlencode, кроме этого поля, для которого я создаю значение и, следовательно, знаем, что в нем не будет ничего, кроме буквенно-цифровых символов.

      $insertSQL = sprintf("INSERT INTO Presentations ('serialnum', 'docurl', 'tracker', 'recipient', 'last_accessed') VALUES (%s, %s, %s, %s, %s,)",
  $sn,$doc,$trackr,$recip,$lastacc);

1 Ответ

2 голосов
/ 21 февраля 2012

Нет ли в вашем операторе SQL лишней запятой?

Вам нужны кавычки в предложении значений, а не часть имен столбцов вставки

$insertSQL = sprintf("INSERT INTO Presentations "+
                               "(serialnum, docurl, tracker, recipient, last_accessed) "+
                               "VALUES ('%s', '%s', '%s', '%s', '%s')",
                                $sn,$doc,$trackr,$recip,$lastacc);

Также: Есть ли у васдумал об использовании переменных связывания, потому что ваш код уязвим для атак SQL-инъекций.

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