Bonjour,
J'aimerais savoir s'il est possible d'intégrer un if dans un prepare() d'une requête SQL.
En effet, j'aimerais que la structure de ma requête diffère selon une ou plusieurs variables.
Par avance, merci pour vos réponses.
Version imprimable
Bonjour,
J'aimerais savoir s'il est possible d'intégrer un if dans un prepare() d'une requête SQL.
En effet, j'aimerais que la structure de ma requête diffère selon une ou plusieurs variables.
Par avance, merci pour vos réponses.
Tu peux construire ta requête en morceaux et alimenter un éventuel tableau de paramètres dans des conditions. Quelque chose du genre :
Code:
1
2
3
4
5
6
7
8 $requete = "select * from user "; $params = array(); if (isset($id_a_rechercher) { $requete .= " where id_user = :id_user "; $params[':id_user'] = $id_a_rechercher; } $sth = $connexion->prepare($requete); $sth->execute($params);
Bonjour et merci pour l'exemple
Court et concis :ccool:
Bonjour,
je completerais la réponse de Celira en améliorant la flexibilité du code :Code:
1
2
3
4
5
6
7
8
9
10
11
12 $requete = "select * from user"; $where = array(); $params = array(); if (isset($id_a_rechercher) { $where[] = "id_user = :id_user"; $params[':id_user'] = $id_a_rechercher; } if ( ! empty($where)) { $requete .= ' WHERE ' . implode(' AND ', $where); } $sth = $connexion->prepare($requete); $sth->execute($params);