Ошибка SQL-запроса рядом с '' - PullRequest
0 голосов
/ 02 ноября 2010
UPDATE ".$tablename." SET stock=%s WHERE itemname=".$itemname."

SQL-запрос выдает эту ошибку:

У вас ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MySQL для правильного использования синтаксиса около '' в строке 1

Не могу найти то, о чем идет речь, потому что он дает только «», а не текст в запросе Спасибо!

Ответы [ 3 ]

1 голос
/ 02 ноября 2010

Пример выглядит неполным.

Возможно ли, чтобы переменные $ tablename или $ itemname были пустыми?

вы смешиваете sprintf и конкатенацию строк. Лучший способ - использовать только один метод. i.e.:

$ sql = "ОБНОВЛЕНИЕ% s SET stock = '% s' ГДЕ itemname = '% s'"; sprintf ($ sql, $ tablename, $ stock, $ itemname); // используем это в mysql_query

Но согласитесь с Паркер, что вы не цитируете свою строку

1 голос
/ 02 ноября 2010

Конкатенация строк выглядит действительно грязно!Я хотел бы пойти на что-то простое:

$sql = "UPDATE $tablename SET stock='$stock' WHERE itemname='$itemname'";

Если это не работает, вы должны отладить значения: $tablename, $stock и $itemname

пс,Я уже дал +1 Ника:)

0 голосов
/ 02 ноября 2010

Попробуйте, не похоже, что вы цитируете свои строки.

UPDATE ".$tablename." SET stock='%s' WHERE itemname='".$itemname."'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...