我想匹配mysql列中的字符串
$string = "XYZ London, UK";
以下是数据库结构
id city state street Address
1 London BBA WER UK
2 California ZZZ 787 USA
3 London XYZ WER UK
我想要的是当我查找字符串时我应该得到id 1和3的结果。
答案 0 :(得分:2)
我认为LIKE
和OR
可以帮助您
SELECT *
FROM test
WHERE 'XYZ London, UK' LIKE CONCAT('%',city,'%')
OR 'XYZ London, UK' LIKE CONCAT('%',state,'%')
OR 'XYZ London, UK' LIKE CONCAT('%',street,'%')
OR 'XYZ London, UK' LIKE CONCAT('%',Address,'%')
或者您也可以使用INSTR
和OR
SELECT *
FROM test
WHERE INSTR('XYZ London, UK',city)>0
OR INSTR('XYZ London, UK',state)>0
OR INSTR('XYZ London, UK',street)>0
OR INSTR('XYZ London, UK',Address)>0;
答案 1 :(得分:0)
strpos
- 查找字符串
返回针存在于相对于haystack字符串开头的位置(与offset无关)。另请注意,字符串位置从0开始,而不是1。
$string= "XYZ London, UK";
if (strpos($db, $string) !== false) {
echo 'true';
}
可以找到文档here
编辑:SQl查询:
select * from table where column like '%string%'