0
设置可以具有多个可选过滤器的搜索。pdo准备了包含更改变量列表的语句
$sql = "SELECT *
FROM table
WHERE title = :title
AND filter1 = :filter1
AND filter2 = :filter2
AND filter3 = :filter3";
$query = $dbc->prepare($sql);
$query->execute(
array(
':title' => $title,
':filter1' => $filter1,
':filter2' => $filter2,
':filter3' => $filter3
)
);
此问题有时候过滤器变量将为空。如果过滤器是空的,那么任何值都可以工作。我曾尝试将空滤镜设置为通配符(%),但似乎不起作用。
if(empty($filter1)) $filter1 = '%';
在这种情况下,SQL QueryBuilder可能是一个不错的选择。 – DanielO