Connection base de donnees
Résolu
sylvesterseni
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
sylvesterseni Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
sylvesterseni Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
jai un probleme avec mon code
c 'est ce qui apparait lorsqu' on clique sur le bouton envoyer
" Erreur : SQLSTATE[HY093]: Invalid parameter number: parameter was not defined "
j aimerais savoir ce que cela signifie et comment resoudre le probleme svp
mon code est le suivant :
<?php
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd= new PDO('mysql:host=localhost;dbname=adhesion', 'root', '' , $pdo_options);
$req=$bdd ->prepare ('INSERT INTO membre (ami,nom,info,precision,motivation, monsieur,name , prenom , Adresse, ville, Commune,
cellulaire,telephone,email,date_naissance,profession,cheque) VALUES (:ami, :nom,:info,:precision,:motivation,:monsieur,:name
, :prenom , :Adresse, :ville, :Commune, :cellulaire,:telephone,:email,:date_naissance,:profession,:cheque)');
$req ->execute( array( $_POST['ami'],$_POST['nom'],$_POST['info'],$_POST['precision'],$_POST['motivation'],$_POST['monsieur'],
$_POST['name'],$_POST['prenom'],$_POST['Adresse'],$_POST['ville'],$_POST['Commune'],$_POST['cellulaire'],$_POST['telephone'],
$_POST['email'],$_POST['date_naissance'],$_POST['profession'],$_POST['cheque']));
echo'Inscription effectuée avec succes Bienvenue ! ';
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
c 'est ce qui apparait lorsqu' on clique sur le bouton envoyer
" Erreur : SQLSTATE[HY093]: Invalid parameter number: parameter was not defined "
j aimerais savoir ce que cela signifie et comment resoudre le probleme svp
mon code est le suivant :
<?php
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd= new PDO('mysql:host=localhost;dbname=adhesion', 'root', '' , $pdo_options);
$req=$bdd ->prepare ('INSERT INTO membre (ami,nom,info,precision,motivation, monsieur,name , prenom , Adresse, ville, Commune,
cellulaire,telephone,email,date_naissance,profession,cheque) VALUES (:ami, :nom,:info,:precision,:motivation,:monsieur,:name
, :prenom , :Adresse, :ville, :Commune, :cellulaire,:telephone,:email,:date_naissance,:profession,:cheque)');
$req ->execute( array( $_POST['ami'],$_POST['nom'],$_POST['info'],$_POST['precision'],$_POST['motivation'],$_POST['monsieur'],
$_POST['name'],$_POST['prenom'],$_POST['Adresse'],$_POST['ville'],$_POST['Commune'],$_POST['cellulaire'],$_POST['telephone'],
$_POST['email'],$_POST['date_naissance'],$_POST['profession'],$_POST['cheque']));
echo'Inscription effectuée avec succes Bienvenue ! ';
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
A voir également:
- Connection base de donnees
- Fuite données maif - Guide
- Base de registre - Guide
- Gmail connection - Guide
- Supprimer les données de navigation - Guide
- Utorrent connection aux pairs ✓ - Forum Téléchargement
5 réponses
Bonjour
Tu as cette erreur parce que tu as utilisé des paramètres nommés dans ta requête préparée (:ami,:nom...). Tu DOIS donc utiliser un tableau associatif pour l'exécution de la requête :
et non pas simplement
Sinon, mysql ne sait pas à quel paramètre nommé correspond chacune des valeurs de ton array.
Tu as cette erreur parce que tu as utilisé des paramètres nommés dans ta requête préparée (:ami,:nom...). Tu DOIS donc utiliser un tableau associatif pour l'exécution de la requête :
array( ':ami'=>$_POST['ami'],':nom'=>$_POST['nom'],...
et non pas simplement
array( $_POST['ami'],$_POST['nom'],...
Sinon, mysql ne sait pas à quel paramètre nommé correspond chacune des valeurs de ton array.
sylvesterseni
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
merci je revois et je vous fais signe
Penses la prochaine fois à mettre ton script dans les balises <code> s'il te plaît et à également marqué ton sujet comme résolu ;)
maintenant c est une erreur qui se signale
"
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'precision,motivation,monsieur,name,prenom,Adresse,ville,Commune, cellulaire,tel' at line 1 "
"
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'precision,motivation,monsieur,name,prenom,Adresse,ville,Commune, cellulaire,tel' at line 1 "
<?php
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd= new PDO('mysql:host=localhost;dbname=adhesion', 'root', '' , $pdo_options);
$req=$bdd ->prepare('INSERT INTO membre(ami,nom,info,precision,motivation,monsieur,name,prenom,Adresse,ville,Commune,
cellulaire,telephone,email,date_naissance,profession,cheque) VALUES (:ami,:nom,:info,:precision,:motivation,:monsieur,:name
,:prenom,:Adresse,:ville,:Commune,:cellulaire,:telephone,:email,:date_naissance,:profession,:cheque)');
$req ->execute(array(
'ami'=>$_POST['ami'],
'nom'=>$_POST['nom'],
'info'=>$_POST['info'],
'precision'=>$_POST['precision'],
'motivation'=>$_POST['motivation'],
'monsieur'=>$_POST['monsieur'],
'name'=>$_POST['name'],
'prenom'=>$_POST['prenom'],
'Adresse'=>$_POST['Adresse'],
'ville'=>$_POST['ville'],
'Commune'=>$_POST['Commune'],
'cellulaire'=>$_POST['cellulaire'],
'telephone'=>$_POST['telephone'],
'email'=>$_POST['email'],
'date_naissance'=>$_POST['date_naissance'],
'profession'=>$_POST['profession'],
'cheque'=>$_POST['cheque']));
echo'Inscription effectuée avec succes Bienvenue ! ';
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question