带有like查询的PHP引号

带有like查询的PHP引号,php,mysql,sql,quotes,Php,Mysql,Sql,Quotes,我把自己弄得一团糟 我试图做一个类似这样的查询 $myQuery = 'SELECT col1 , col2 from my_table WHERE col_value LIKE '%$my_string_variable%'; 但这个查询显然会给出一个错误。这个的正确语法是什么?我尝试过使用双引号,但也没用。将双引号和单引号结合起来 $myQuery = "SELECT col1 , col2 FROM my_table WHERE col_v

我把自己弄得一团糟

我试图做一个类似这样的查询

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

但这个查询显然会给出一个错误。这个的正确语法是什么?我尝试过使用双引号,但也没用。

将双引号和单引号结合起来

$myQuery = "SELECT col1 , col2
            FROM my_table
            WHERE col_value LIKE '%$my_string_variable%'";
$query = "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) . "%'";

用双引号将整件事括起来

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

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

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

应该可以解决您的问题。

您使用一个单引号作为字符串的开头,并再次在字符串的“内部”使用单引号。您可以将其更改为以下内容:

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

这个怎么样?以防你不想打破你的查询模式

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

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

是否尝试在查询周围添加闪烁标记?!?!?!?疯子man@Byron正在闪烁的SQL查询。。。为什么我没想到呢?我现在很茫然,我不知道我做错了什么…在某物周围贴上一个眨眼的标签…什么…我做得不对?:)@Genadinik
唯一有效的子项是
。呃,不确定您到底想在这里做什么。。。你是说你想让角色逃跑吗?\[反斜杠]??此外,如果没有双引号“foo$myVar bar”或串联-“foo.”$myVar.“bar”,则无法对变量进行求值