PHP引用了类似的查询

时间:2011-03-03 00:41:00

标签: php mysql sql quotes

我已经把自己弄得乱七八糟。但

我正在尝试执行类似查询的查询

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

但是这个查询显然会出错。这个的正确语法是什么?我试过弄乱双引号,但这也不起作用。

6 个答案:

答案 0 :(得分:5)

结合双引号和单引号。

$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) . "%'";

答案 1 :(得分:4)

用双引号括起整个事物。

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

答案 2 :(得分:1)

您在单引号分隔字符串中使用单引号。尝试使用双引号引用你的字符串。

答案 3 :(得分:1)

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

应该解决你的问题。

答案 4 :(得分:1)

您使用单引号作为字符串的开头,然后再单引号引用它。您可以将其更改为以下内容:

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

答案 5 :(得分:0)

如果您不想打破查询模式,请查看此内容。

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

当您应用单引号时,不要在其中包含php变量,因为此单引号将其中的所有内容视为值不可变。