Můžete použít pole s hodnotami a odeslat je jako parametr do execute()
metoda.
Pokud je přetypování typu proměnných, které bindParam()
nabídky nejsou tak důležité (ani to nepoužíváte...), takže vytváření dotazů je mnohem snazší, protože pole můžete vyplnit při sestavování řetězce dotazu.
Pro váš příklad:
$query = "SELECT * from `usertable` where users_active=:users_active";
$params = array(':users_active' => $users_active);
if($mode=="archived") {
$query .= " AND archived=:archived";
$params[':archived'] = $archived;
}
$stmt = $dbpdo->prepare($query);
$stmt->execute($params);