在mysql,php中搜索,查找包含' str'

时间:2015-08-10 15:35:53

标签: php mysql

我要做的是在屏幕上显示表格中所有可能的变化。如果$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;

的所有字词

2 个答案:

答案 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; }

Source

答案 1 :(得分:0)

尝试使用column1 LIKE '%str%'作为条件