Быстрый вопрос mysql_query () - PullRequest
       2

Быстрый вопрос mysql_query ()

0 голосов
/ 23 февраля 2011

У меня есть следующий код:

mysql_query("SELECT * FROM list WHERE name LIKE '%'$searchTerm'%' OR description LIKE '%'$searchTerm'%';");

Единственная проблема заключается в том, что в чистом SQL такой запрос будет выглядеть так:

SELECT * FROM list WHERE name LIKE '%asdf%' OR description LIKE '%asdf%'

Что меня смущает, так это то, как правильно поместить мои переменные в строку, обычно переменная в mysql_query будет заключена в одинарные кавычки, но добавление одинарных кавычек в самом SQL меня смущает.

Я пытался объединить с ., но я не думаю, что это хорошее решение.

Ответы [ 3 ]

4 голосов
/ 23 февраля 2011
mysql_query("SELECT * FROM list WHERE name LIKE '%$searchTerm%' OR description LIKE '%$searchTerm%';");

Почему бы тебе просто ...

echo "SELECT * FROM list WHERE name LIKE '%$searchTerm%' OR description LIKE '%$searchTerm%';"

... и посмотрите, как на самом деле будет выглядеть запрос ..

1 голос
/ 05 августа 2011

Я не знаю PHP, но я предлагаю использовать функцию замены для управления символом "'" в $ searchterm. Это также позволяет избежать инъекций sql.

0 голосов
/ 23 февраля 2011

Это самый ясный способ для меня, используя "."для конкатенации:

mysql_query("SELECT * FROM list WHERE name LIKE '%".$searchTerm."%' OR description LIKE '%".$searchTerm."%'");

Попробуйте и используйте это, оно должно работать на том, что вы пытаетесь:)

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