Du kan bruge et array med værdierne og sende det som en parameter til execute() metode.
Hvis typen casting af variablerne, der bindParam()
tilbud er ikke så vigtigt (du bruger det ikke engang...), hvilket gør det meget nemmere at bygge forespørgsler, da du kan udfylde arrayet, når du bygger forespørgselsstrengen.
For dit eksempel:
$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);