【发布时间】:2018-07-10 17:12:08
【问题描述】:
$cat_id=$_GET['cat_id'];
$catEx = explode(' ',$cat_id);
foreach($catEx as $exCat)
{
$looped .= 'ad_cat LIKE'.' '.'%'."$exCat".'%'.' OR '.'ad_title LIKE'.' '.'%'."$exCat".'%'.' OR '.'ad_sub_cat LIKE'.' '.'%'."$exCat".'%'.' OR '.'ad_description LIKE'.' '.'%'."$exCat".'%' ;
}
我需要这样做,以便搜索栏搜索多个单词。
【问题讨论】:
-
样本输入是什么?使用该输入的当前结果是什么?使用该输入的期望结果是什么?
-
哇,这是一个令人困惑的字符串。我有一种感觉,你的变量没有被正确引用。使用准备好的语句将对此有所帮助。
-
删除所有的连接,你的字符串变成
$looped .= 'ad_cat LIKE %$exCat% OR ad_title LIKE %$exCat% OR ad_sub_cat LIKE %$exCat% OR ad_description LIKE %$exCat%' ;。正如您在此处看到的,您的变量没有被引用。您可以保留我粘贴的字符串,只在变量/占位符周围添加双引号,或者使用准备好的语句,这样您就不必再担心引用问题了。 -
@aynber 但是解决引用问题太有趣了!!! ;)
-
@IncredibleHat 你和我对乐趣的定义截然不同。 ;-) 哈哈