Inserer les valeurs d'un array dans une requete
Résolu/Fermé
LearnDeep
Messages postés
67
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
21 août 2021
-
29 août 2019 à 18:39
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 31 août 2019 à 13:11
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 31 août 2019 à 13:11
A voir également:
- Inserer les valeurs d'un array dans une requete
- Insérer une vidéo dans powerpoint - Guide
- Insérer signature word - Guide
- Insérer liste déroulante excel - Guide
- Insérer un filigrane word - Guide
- Insérer sommaire word - Guide
1 réponse
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
31 août 2019 à 13:11
31 août 2019 à 13:11
Bonjour,
Déjà... pour le PDO .. il faut correctement activer ET gérer les éventuelles erreurs.
Pour ça, applique ce qui est indiqué dans ce lien
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Ensuite...
L'instruction EXECUTE attend la liste de TOUS les paramètres que tu as mis dans le PREPARE de ta requête... (et avec le MEME nom ... )
Dans ton cas;.. il attend donc les paramètres suivants :
Donc un ARRAY de la forme
Tu nous dis que ton array contient :
</code>
Donc.. oui.. tu as un ARRAY ... mais ton array est constitué d' OBJET
Il te faut donc Extraire les différentes valeurs de cet objet... pour construire l'ARRAY attendu dans le execute.
ce qui donnerait un truc du genre :
Déjà... pour le PDO .. il faut correctement activer ET gérer les éventuelles erreurs.
Pour ça, applique ce qui est indiqué dans ce lien
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Ensuite...
L'instruction EXECUTE attend la liste de TOUS les paramètres que tu as mis dans le PREPARE de ta requête... (et avec le MEME nom ... )
Dans ton cas;.. il attend donc les paramètres suivants :
:refCmd,:refProduit,:prix,qte
Donc un ARRAY de la forme
array(':refCmd'=>35 ,':refProduit'=>1 ,':prix' =>2.4 , 'qte'=>1 );
Tu nous dis que ton array contient :
([0]=> stdClass Object([idprod]=>8[prix]=>2[qte]=>1[refCmd]=>35)[1]=> stdClass Object([idprod]=>9[prix]=>2.4[qte]=>5[refCmd]=>35))
</code>
Donc.. oui.. tu as un ARRAY ... mais ton array est constitué d' OBJET
stdClass Object
Il te faut donc Extraire les différentes valeurs de cet objet... pour construire l'ARRAY attendu dans le execute.
ce qui donnerait un truc du genre :
try{ $p = $db->prepare("INSERT INTO regrouper (refCommande, refProduit, prixP, qteP) VALUES(:refCmd,:refProduit,:prix,:qte)"); foreach ($tab as $item) { $datas = array(':refCmd'=>$item->refcmd ,':refProduit'=>$item->idprod ,':prix' =>$item->prix , ':qte'=>$item->qte ); $p->execute($datas); } }catch(Exception $e){ echo " Erreur :" . $e->getMessage(); }