Проблема с запросом MySQL (как) и PHP - PullRequest
0 голосов
/ 04 сентября 2010

Я пытаюсь использовать оператор, подобный SQL, но, к сожалению, я получаю сообщение об ошибке каждый раз, когда использую запрос.В php-файле у меня есть:

$b = "SELECT Nombre, Link, Img_Pre, Precio, Descripcion, ID, Categoria, Subcategoria 
    FROM Productos WHERE Nombre LIKE \"%$a%\"";

, но я получаю эту ошибку:

У вас есть ошибка в вашем синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с '\ "% VALUE OF A% \"' в строке 1

Если я попробую то же выражение в phpmyadmin i,нет ошибокПочему с php я получаю эту ошибку?

Спасибо!

Ответы [ 3 ]

4 голосов
/ 04 сентября 2010

Вместо этого используйте одинарные кавычки в строке LIKE (я думаю, что phpMyAdmin волшебным образом преобразует это в одинарные кавычки перед выполнением запроса):

$b = "SELECT Nombre, Link, Img_Pre, Precio, Descripcion, ID, Categoria, Subcategoria FROM Productos WHERE Nombre LIKE '%$a%'";

Убедитесь, что вы избежали $a, используяmysql_real_escape_string() тоже, потому что это может нарушать ваши запросы, вводя неэкранированные кавычки!

0 голосов
/ 04 сентября 2010

Попробуйте:

$b = "SELECT Nombre, Link, Img_Pre, Precio, Descripcion, ID, Categoria, Subcategoria FROM Productos WHERE Nombre LIKE '%$a%'";

Некоторые SQL-запросы будут каркать, если вы не используете апострофы в качестве разделителя строк

0 голосов
/ 04 сентября 2010
$b = "SELECT Nombre, Link, Img_Pre, Precio, Descripcion, ID, Categoria, Subcategoria 
    FROM Productos WHERE Nombre LIKE \"%"+$a+"%\"";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...