$ variable和%$ variable%之间有什么区别?

时间:2011-08-25 11:32:56

标签: php mysql

我这里有这段代码:

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

如果我愿意,它会有所作为:

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

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

4 个答案:

答案 0 :(得分:12)

它在PHP中没有区别,它是SQL中的通配符。您可以阅读更多相关信息here。基本上,%

  

匹配任意数量的字符,即使是零字符

答案 1 :(得分: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

答案 2 :(得分:2)

区别在于'%$ value%'会搜索包含$ value的匹配项(例如,如果$ value ='foo'它可以返回'foobar'或'barfoobar'),'$ value'仅匹配精确值值的价值。

答案 3 :(得分:1)

在PHP中没有区别(尽管您可能希望看一下使用PDO进行数据库查询),'%'符号会影响在MySQL中执行的查询。

%充当通配符,因此第一个结果将在其text属性中返回包含术语“value”的任何内容,而第二个结果将仅返回与完全“价值”一词