Opérateur inconnu
Résolu/Fermé
danielos77
Messages postés
108
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
16 janvier 2024
-
8 avril 2020 à 11:24
danielos77 Messages postés 108 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 16 janvier 2024 - 8 avril 2020 à 12:02
danielos77 Messages postés 108 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 16 janvier 2024 - 8 avril 2020 à 12:02
1 réponse
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
8 avril 2020 à 11:43
8 avril 2020 à 11:43
Bonjour,
Pour effectuer des requêtes préparées en PDO tu peux
soit utiliser le point d'interrogation
ce qui implique que les "valeurs" à utiliser à la place de ces "?" soient remplacées par un array (l'ordre dans lequel tu marques les valeurs correspond à l'ordre des "?" dans la requête
L'autre solution est d'utiliser des variables nommées.
ici... ce n'est pas "=:" mais ":num"
En reprenant mon exemple, ça donne :
et le remplacement se fait à l'aide d'un array associatif
qui fonctionne également si je change l'ordre
Pour effectuer des requêtes préparées en PDO tu peux
soit utiliser le point d'interrogation
$sql = " SELECT * FROM tatable WHERE champ1 = ? OR champ2 = ? ";
ce qui implique que les "valeurs" à utiliser à la place de ces "?" soient remplacées par un array (l'ordre dans lequel tu marques les valeurs correspond à l'ordre des "?" dans la requête
$data = array(10,'truc');
L'autre solution est d'utiliser des variables nommées.
ici... ce n'est pas "=:" mais ":num"
En reprenant mon exemple, ça donne :
$sql = " SELECT * FROM tatable WHERE champ1 = :variable1 OR champ2 = :variable2 ";
et le remplacement se fait à l'aide d'un array associatif
$data = array(":variable1"=> 10 ,":variable2"=>'truc');
qui fonctionne également si je change l'ordre
$data = array( ":variable2"=>'truc' , ":variable1"=> 10);
8 avril 2020 à 12:02
Je recherchais justement mon post pour dire que j'avais trouvé un exemple et que j'avais compris que :num était en fait un contenant qui prenait les valeurs du champ Num et qu'ensuite dans le tableau des résultats, on garderait les datas de ce contenant qui auraient pour valeur notre variable issue du $_POST.
ça avance...
Un grand merci à toi.
Daniel