2011-08-25 150 views
3

我有这样一段代码在这里:

$query = mysql_query("SELECT * FROM example WHERE text LIKE '%$value%'"); 

难道有所作为,如果我会用:

$query = mysql_query("SELECT * FROM example WHERE text LIKE '$value'"); 

如果有的话,那会是什么?有什么区别?

回答

9

是的,这与php无关,它是一个sql事物,%意味着像通配符那样可以有0个或更多字符而不是它。

%abc% matches abc, aabca, aabc, abcd 
%abc matches dabc, abc but not abcd or tabcd 
abc% matches abcd, abc but not dabc, tabcd 
12

它在PHP中没有区别,它是SQL中的通配符。你可以阅读更多关于它here。从本质上讲,%

匹配任何数目的字符,甚至零个字符

1

在PHP中是没有区别的(虽然你可能想看看使用PDO的数据库查询),在“ %'符号影响在MySQL中执行的查询。

%作为通配符所以第一个结果将返回任何包含将在其文本属性“价值”这个词,而第二个将只返回匹配的记录正是“价值”一词

2

不同的是,“%$值%”将SEACH用于容纳$值匹配(对于为例如果$值=“富”它可以返回“foobar的”或“barfoobar”),“$值”只匹配$ value的确切值。

相关问题