我已经陷入了与报价混乱的混乱。带有类似查询的PHP报价
我尝试这样做,看起来像这样
$myQuery = 'SELECT col1 , col2 from my_table WHERE col_value LIKE '%$my_string_variable%';
一个类似的查询,但是该查询显然会给出一个错误。什么是正确的语法?我试图用双引号搞乱,但那也不管用。
我已经陷入了与报价混乱的混乱。带有类似查询的PHP报价
我尝试这样做,看起来像这样
$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%'";
虽然我更愿意保护我不受SQL注入代码..
$myQuery = "SELECT col1 , col2
FROM my_table
WHERE col_value LIKE '%" . mysql_real_escape_string($my_string_variable) . "%'";
环绕在双引号整个事情。
$query = "SELECT col1 , col2 from my_table WHERE col_value LIKE '%$my_string_variable%'";
将工作,直到该变量包含单引号.. – RichardTheKiwi 2011-03-03 00:55:26
@理查德,没错。我会为此准备好查询。 – 2011-03-03 00:57:55
您在单引号分隔字符串中使用单引号。尝试使用双引号引用您的字符串。
$myQuery = "SELECT col1 , col2 from my_table WHERE col_value LIKE '%$my_string_variable%'";
应该解决你的问题。
您使用单引号作为字符串的开头,并再次使用单引号“inside”。您可以将其更改为以下内容:
$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变量,因为此单引号将其中的所有内容视为值不可变。
您是否尝试在查询周围添加闪烁标记?!?!?!?疯狂的人 – 2011-03-03 00:42:30
@Byron闪烁的SQL查询...为什么我没有想到这一点? – alex 2011-03-03 00:44:17
我现在这么分散,我不知道我做错了什么......把一个闪烁的标签放在一些东西......什么......我没有做对吗? :) – Genadinik 2011-03-03 00:44:28