Мисля, че изглежда доста добре; Харесва ми. Предполагам, че secure()
предпазва от sql инжектиране. Наистина не виждам нищо, което бих променил.
Вие можете извадете скоби от for цикъла, тъй като неговият единствен оператор, но това не е голямо
foreach ($qWhere as $key=>$value)
$fields[] = sprintf("%s = '%s'", $key, secure($value));