1

我正在尝试使用 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 条件之一运行查询,它将起作用。

4

1 回答 1

1

为什么不尝试使用glob而不是like

select *
from "mytable"
where ('col1' || 'col2' || 'col3' || 'col4')
glob '%$findMe%'
于 2013-09-24T16:51:13.630 回答