Du kan använda en array med värdena och skicka den som en parameter till execute() metod.
Om typen casting av variablerna som bindParam()
erbjudanden är inte så viktigt (du använder det inte ens...), vilket gör det mycket lättare att skapa frågor eftersom du kan fylla arrayen när du bygger frågesträngen.
För ditt exempel:
$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);