Vous pouvez utiliser un tableau avec les valeurs et l'envoyer en tant que paramètre au execute()
méthode.
Si le casting de type des variables que bindParam()
offres n'est pas si important (vous ne l'utilisez même pas...), ce qui rend la création de requêtes beaucoup plus facile car vous pouvez remplir le tableau lorsque vous créez la chaîne de requête.
Pour votre exemple :
$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);