Je kunt een array met de waarden gebruiken en die als parameter naar de execute()
methode.
Als het type casting van de variabelen die bindParam()
aanbiedingen is niet zo belangrijk (je gebruikt het niet eens...), dat maakt het bouwen van query's een stuk eenvoudiger omdat je de array kunt vullen wanneer je de querystring opbouwt.
Voor jouw voorbeeld:
$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);