我正在使用 safemysql 类进行参数化查询https://github.com/colshrapnel/safemysql。通常,在准备查询时,它是这样的:
$entries = $db->getAll("SELECT * FROM table WHERE age = ?i AND name = ?s ",$age,$name);
这种我事先知道要解析的参数总数的查询是非常直接的,但似乎我堆积在我不知道我将使用多少参数的查询中 - 例如。搜索表格:
我想做的是参数化以下查询:
if($_POST['nameparts']){
$parts = explode(' ',$_POST['nameparts']);
foreach((array)$parts as $part){
$q .= " AND ( `name` LIKE '%".$part."%' OR `firstname` LIKE '%".$part."%' ) ";
}
if($_POST['age'])
$q .= " AND `age` = '".$_POST['age']."' ";
$entries = $dbs->getAll("SELECT * FROM table WHERE 1 = 1 ".$q." ");
有什么建议么?