Probleme d'insertion [Résolu]

Signaler
Messages postés
7
Date d'inscription
mercredi 14 novembre 2018
Statut
Membre
Dernière intervention
15 novembre 2018
-
Messages postés
7
Date d'inscription
mercredi 14 novembre 2018
Statut
Membre
Dernière intervention
15 novembre 2018
-
salut j'ai un souci d'insertion
voilà le code
$insertmbr=$bdd->prepare
("INSERT INTO criminel3
(prenom, nom, surnom, date_naissance,
  lieu_naissance,profession,duree_profession,telephone,domicile,ville,civilite,
  groupe_sanguin,taille,teint,race,couleur_cheveux,cicatrice_particuliere,caractere,temperament     situation_medicale,vie_sentimental,valeur_a_propos,
                      date_arrestation)
  VALUES(
                      ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,NOW()");
                      $insertmbr->execute(array(
                      'prenom'=>$prenom,
                      'nom'=>$nom,
                      'surnom'=>$surnom,
                      'date_naissance'=>$date_naissance,
                      'lieu_naissance'=>$lieu_naissance,
                      'profession'=>$profession,
                      'duree_profession'=>$duree_profession,
                      'telephone'=>$telephone,
                      'domicilie'=>$domicilie,
                      'ville_frequente'=>$ville_frequente,
                      'situation_matrimoniale'=>$situation_matrimoniale,
                      'groupe_sanguin'=>$groupe_sanguin,
                      'taille'=>$taille,
                      'teint'=>$teint,
                      'race'=>$race,
                      'couleur_cheveux'=>$couleur_cheveux,
                      'cicatrice_particuliere'=>$cicatrice_particuliere,
                      'caractere'=>$caractere,
                      'temperament'=>$temperament,
                      'situation_medicale'=>$situation_medicale,
                      'vie_sentimental'=>$vie_sentimental,
                      'valeur_a_propos'=>$valeur_a_propos
                      ));
A voir également:

8 réponses

Messages postés
7
Date d'inscription
mercredi 14 novembre 2018
Statut
Membre
Dernière intervention
15 novembre 2018

voilà le message d'erreur qui s'affiche
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens' in C:\Users\DRAME\Desktop\EasyPHP-12.1l\www\test\include\connect_iddentification.php:143 Stack trace: #0 C:\Users\DRAME\Desktop\EasyPHP-12.1l\www\test\include\connect_iddentification.php(143): PDOStatement->execute(Array) #1 C:\Users\DRAME\Desktop\EasyPHP-12.1l\www\test\iddentification.php(2): include('C:\Users\DRAME\...') #2 {main} thrown in C:\Users\DRAME\Desktop\EasyPHP-12.1l\www\test\include\connect_iddentification.php on line 143
Messages postés
32448
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 mai 2021
347
Compte le nombre de ?
Et compare au nombre de variables dans le execute()
Messages postés
7
Date d'inscription
mercredi 14 novembre 2018
Statut
Membre
Dernière intervention
15 novembre 2018

j’ai déjà fait une comparaison et le compte est bon
Messages postés
32448
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 mai 2021
347 >
Messages postés
7
Date d'inscription
mercredi 14 novembre 2018
Statut
Membre
Dernière intervention
15 novembre 2018

Alors...où j'ai des problèmes de vue ... où tu as des soucis pour compter...


Je remarque également que dans la liste des champs... tu sembles avoir oublié une virgule...
Messages postés
7
Date d'inscription
mercredi 14 novembre 2018
Statut
Membre
Dernière intervention
15 novembre 2018

voilà mes image
Messages postés
32448
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 mai 2021
347
Ce n'est pas le code que tu nous as donné.
Messages postés
32448
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 mai 2021
347
Le souci étant de toutes facons les deux autres captures d'écran que je t'ai donné
Messages postés
7
Date d'inscription
mercredi 14 novembre 2018
Statut
Membre
Dernière intervention
15 novembre 2018

j'ai rectifié après avoir vu ta réponse
Messages postés
7
Date d'inscription
mercredi 14 novembre 2018
Statut
Membre
Dernière intervention
15 novembre 2018

mes ce l’erreur y est toujours
Messages postés
32448
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 mai 2021
347
Tu as tout corrigé ?
Montre ton code...
Messages postés
32448
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 mai 2021
347
lorsqu'on utilise les requêtes avec les "?" .. on n'utilise pas un array associatif mais un array à une dimension.
array($toto,$tata$titi...)

en respectant l'ordre des champs de la requêtes.

Si tu veux utiliser un tableau associatif, il faut le faire avec les champs nommés
$sql = "INSERT into tbl ( col1, col2 )
VALUES ( :toto, :titi )"

$datas = array(':toto'=>1324, ':titi'=>$truc );
le code est là
$insertmbr=$bdd->prepare("INSERT INTO criminel3(
                      prenom, 
                      nom, 
                      surnom, 
                      date_naissance,
                      lieu_naissance,
                      profession,
                      duree_profession,
                      telephone,
                      domicile,
                      ville,
                      civilite,
                      groupe_sanguin,
                      taille,
                      teint,
                      race,
                      couleur_cheveux,
                      cicatrice_particuliere,
                      caractere,
                      temperament,
                      situation_medicale,
                      vie_sentimental,
                      valeur_a_propos,
                      date_arrestation)
VALUES(
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      NOW()");
$insertmbr->execute(array(
                      'prenom'=>$prenom,
                      'nom'=>$nom,
                      'surnom'=>$surnom,
                      'date_naissance'=>$date_naissance,
                      'lieu_naissance'=>$lieu_naissance,
                      'profession'=>$profession,
                      'duree_profession'=>$duree_profession,
                      'telephone'=>$telephone,
                      'domicilie'=>$domicilie,
                      'ville_frequente'=>$ville_frequente,
                      'situation_matrimoniale'=>$situation_matrimoniale,
                      'groupe_sanguin'=>$groupe_sanguin,
                      'taille'=>$taille,
                      'teint'=>$teint,
                      'race'=>$race,
                      'couleur_cheveux'=>$couleur_cheveux,
                      'cicatrice_particuliere'=>$cicatrice_particuliere,
                      'caractere'=>$caractere,
                      'temperament'=>$temperament,
                      'situation_medicale'=>$situation_medicale,
                      'vie_sentimental'=>$vie_sentimental,
                      'valeur_a_propos'=>$valeur_a_propos));
et voilà ce qui reviens toujours
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in C:\Users\DRAME\Desktop\EasyPHP-12.1l\www\test\include\connect_iddentification.php:184 Stack trace: #0 C:\Users\DRAME\Desktop\EasyPHP-12.1l\www\test\include\connect_iddentification.php(184): PDOStatement->execute(Array) #1 C:\Users\DRAME\Desktop\EasyPHP-12.1l\www\test\iddentification.php(2): include('C:\Users\DRAME\...') #2 {main} thrown in C:\Users\DRAME\Desktop\EasyPHP-12.1l\www\test\include\connect_iddentification.php on line 184
Messages postés
32448
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 mai 2021
347
Merci de nous coller le code en un seul morceau....
là c'est illisible et difficile de voir que tout est bone.
Messages postés
32448
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 mai 2021
347
$insertmbr=$bdd->prepare("INSERT INTO criminel3(
                      prenom, 
                      nom, 
                      surnom, 
                      date_naissance,
                      lieu_naissance,
                      profession,
                      duree_profession,
                      telephone,
                      domicile,
                      ville,
                      civilite,
                      groupe_sanguin,
                      taille,
                      teint,
                      race,
                      couleur_cheveux,
                      cicatrice_particuliere,
                      caractere,
                      temperament,
                      situation_medicale,
                      vie_sentimental,
                      valeur_a_propos,
                      date_arrestation)
                      VALUES(
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,
                      ?,?,?,?,?,?,?,?,NOW()");
                      $insertmbr->execute(array(
                      'prenom'=>$prenom,
                      'nom'=>$nom,
                      'surnom'=>$surnom,
                      'date_naissance'=>$date_naissance,
                      'lieu_naissance'=>$lieu_naissance,
                      'profession'=>$profession,
                      'duree_profession'=>$duree_profession,
                      'telephone'=>$telephone,
                      'domicilie'=>$domicilie,
                      'ville_frequente'=>$ville_frequente,
                      'situation_matrimoniale'=>$situation_matrimoniale,
                      'groupe_sanguin'=>$groupe_sanguin,
                      'taille'=>$taille,
                      'teint'=>$teint,
                      'race'=>$race,
                      'couleur_cheveux'=>$couleur_cheveux,
                      'cicatrice_particuliere'=>$cicatrice_particuliere,
                      'caractere'=>$caractere,
                      'temperament'=>$temperament,
                      'situation_medicale'=>$situation_medicale,
                      'vie_sentimental'=>$vie_sentimental,
                      'valeur_a_propos'=>$valeur_a_propos
                      ));
Messages postés
32448
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 mai 2021
347 > darionarious
tu ne veux toujours pas lire et appliquer la réponse que je t'ai donné ????

Je vais être sympa.. je te la redonne ici directement :

orsqu'on utilise les requêtes avec les "?" .. on n'utilise pas un array associatif mais un array à une dimension.
array($toto,$tata$titi...)

en respectant l'ordre des champs de la requêtes.

Si tu veux utiliser un tableau associatif, il faut le faire avec les champs nommés
$sql = "INSERT into tbl ( col1, col2 )
VALUES ( :toto, :titi )"

$datas = array(':toto'=>1324, ':titi'=>$truc );
Messages postés
7
Date d'inscription
mercredi 14 novembre 2018
Statut
Membre
Dernière intervention
15 novembre 2018

merci et je n’avais pas bien compris pour dire vrai je demande pardon de t’avoir fatigué jordan vraiment merci