Mysql
 sql >> Base de données >  >> RDS >> Mysql

PDO Bind Params selon qu'ils existent ou non dans la requête

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);