PHP цитаты с похожим запросом - PullRequest
4 голосов
/ 03 марта 2011

Я запутался в кавычках.

Я пытаюсь сделать похожий запрос, который выглядит примерно так

$myQuery = 'SELECT col1 , col2 from my_table WHERE col_value LIKE '%$my_string_variable%';

Но этот запрос, очевидно, даст ошибку. Каков правильный синтаксис для этого? Я пытался возиться с двойными кавычками, но это тоже не сработало.

Ответы [ 6 ]

5 голосов
/ 03 марта 2011

Объедините двойные и одинарные кавычки.

$myQuery = "SELECT col1 , col2
            FROM my_table
            WHERE col_value LIKE '%$my_string_variable%'";

Хотя я предпочитаю защищать свой код от SQL-инъекций ..

$myQuery = "SELECT col1 , col2
            FROM my_table
            WHERE col_value LIKE '%" . mysql_real_escape_string($my_string_variable) . "%'";
4 голосов
/ 03 марта 2011

Окружите все это в двойных кавычках.

$query = "SELECT col1 , col2 from my_table WHERE col_value LIKE '%$my_string_variable%'";
1 голос
/ 03 марта 2011

Вы используете одинарную кавычку в качестве начала вашей строки и снова одинарные кавычки «внутри» нее.Вы можете изменить его на следующее:

$myQuery = "SELECT col1 , col2 from my_table WHERE col_value LIKE '%$my_string_variable%'";
1 голос
/ 03 марта 2011
$myQuery = "SELECT col1 , col2 from my_table WHERE col_value LIKE '%$my_string_variable%'";

Должен решить вашу проблему.

1 голос
/ 03 марта 2011

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

0 голосов
/ 03 марта 2011

Как насчет этого на тот случай, если вы не хотите нарушать шаблон вашего запроса.

$myQuery = 'SELECT col1 , col2 from my_table WHERE col_value LIKE "%' .$my_string_variable . '%"';

Когда вы применяете одинарную кавычку, не включайте в нее переменную php, так как эта одиночная кавычка обрабатываетвсе внутри него как значение не переменное.

...