我正在尝试使用php和sqlite设置查询,并且查询有多个LIKE条件......
$findMe = 'blah';
$nLast = -1;
$nRecord = 5;
$db = new PDO('sqlite:data.db');
$qry = "SELECT *
FROM mytable
WHERE (id > $nLast)
AND ((col1 LIKE '%$findMe%')
OR (col2 LIKE '%$findMe%')
OR (col3 LIKE '%$findMe%')
OR (col4 LIKE '%$findMe%'))
LIMIT $nRecord
ORDER BY id DESC";
$result = $db->query($qry);
...但这不会返回任何结果。如果我只使用一个LIKE条件运行查询,它将起作用。
答案 0 :(得分:1)
为什么不尝试使用glob
代替like
?
select *
from "mytable"
where ('col1' || 'col2' || 'col3' || 'col4')
glob '%$findMe%'