我要做的是在屏幕上显示表格中所有可能的变化。如果$search = str
,则在表格中搜索包含&#39; str&#39;在里面。我尝试了很多变化,但还没有成功。有什么问题,我可以使用像"SELECT * FROM table WHERE * LIKE '[[:<:]]\"$search\"[[:>:]]' "
这样的东西吗?
$string = "SELECT * FROM table
WHERE (column1 = '[[:<:]]\"$search\"[[:>:]]')
OR (column2 = '[[:<:]]\"$search\"[[:>:]]')
OR (column3 = '[[:<:]]\"$search\"[[:>:]]')
OR (column4 = '[[:<:]]\"$search\"[[:>:]]')
OR (column6 = '[[:<:]]\"$search\"[[:>:]]')
OR (column7 = '[[:<:]]\"$search\"[[:>:]]')";
问题:查找包含&#39; str&#39;
的所有字词答案 0 :(得分:1)
修改强>
首先,获取数据库中包含$str
的所有列,如下所示:
"SELECT * FROM your_table WHERE UPPER(your_field) LIKE UPPER('%" . $str . "%')";
后,
解析此结果以找到单词中的$str
。
像这样:
$explode = explode($results);
然后您使用strpos();
和strstr();
组合以匹配数组中的$str
有些功能如下:
function getMultiPos($haystack, $needles, $sensitive=true, $offset=0){
foreach($needles as $needle) {
$result[$needle] = ($sensitive) ? strpos($haystack, $needle, $offset) : stripos($haystack, $needle, $offset);
}
return $result;
}
答案 1 :(得分:0)
尝试使用column1 LIKE '%str%'
作为条件