我有这样一段代码在这里:
$query = mysql_query("SELECT * FROM example WHERE text LIKE '%$value%'");
难道有所作为,如果我会用:
$query = mysql_query("SELECT * FROM example WHERE text LIKE '$value'");
如果有的话,那会是什么?有什么区别?
我有这样一段代码在这里:
$query = mysql_query("SELECT * FROM example WHERE text LIKE '%$value%'");
难道有所作为,如果我会用:
$query = mysql_query("SELECT * FROM example WHERE text LIKE '$value'");
如果有的话,那会是什么?有什么区别?
是的,这与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
它在PHP中没有区别,它是SQL中的通配符。你可以阅读更多关于它here。从本质上讲,%
匹配任何数目的字符,甚至零个字符
在PHP中是没有区别的(虽然你可能想看看使用PDO的数据库查询),在“ %'符号影响在MySQL中执行的查询。
%作为通配符所以第一个结果将返回任何包含将在其文本属性“价值”这个词,而第二个将只返回匹配的记录正是“价值”一词
不同的是,“%$值%”将SEACH用于容纳$值匹配(对于为例如果$值=“富”它可以返回“foobar的”或“barfoobar”),“$值”只匹配$ value的确切值。