パラメータ化されたクエリhttps://github.com/colshrapnel/safemysqlに 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." ");
助言がありますか?