Menu

Erreur!SQLSTATE[HY093]: Invalid parameter number: no parameters were bound [Résolu]

Messages postés
2
Date d'inscription
vendredi 12 avril 2019
Statut
Membre
Dernière intervention
13 avril 2019
- - Dernière réponse : shadowalker19
Messages postés
2
Date d'inscription
vendredi 12 avril 2019
Statut
Membre
Dernière intervention
13 avril 2019
- 13 avril 2019 à 09:51
bonjour à tous, soucis lors de l'enregistrement de mon formulaire.. lorsque j'essaye d'envoyer mon formulaire on me sort cette erreur Erreur!SQLSTATE[HY093]: Invalid parameter number: no parameters were bound et moi j'y comprend rien s'il vous plaît aidez moi
une partie du code php:

<?php
$select= 'SELECT * FROM clients ORDER BY IDClients , Nom';
//initialition du tableau php
$donne=array();
//déclaration d'une variable contenant la requête sql d'insertion
$insert= 'INSERT INTO clients ( IDClients, Nom , Prenom , DateNais , Telephone , Email , noPermis , dateDelivrance , adresse, BoitePostal)
VALUES (?,?,?,?,?,?,?,?,?,?,)';
try{
//preparation de la requête
$stmt=$db->prepare($select);
$stmt=$db->prepare($insert);
$stmt->execute();
$stmt->execute(array($Nom,$Prenom,$DateNais,$Telephone,$Email,$noPermis,$dateDelivrance,$adresse,$BoitePostal));
$nb_insert=$stmt->rowCount();
echo $nb_insert.'insertion effectue';
//tand qu'il y'a un enrégistrement alors on range les données dans un tableau php
while($row=$stmt->fetch(PDO::FETCH_ASSOC)){
$donne[]=$row;
}
unset($db);
if(count($donne)>0){
echo '<pres>';
print_r($donne);
echo '<pres>';
}
//s'il n'y a pas d'enregistrement
else{
echo 'Aucun enregistrement';
}
}
catch(Exception $e){#en cas de probleme php ou sql
print "Erreur!" . $e->getMessage() . "<br>";
}
?>

merci d'avance
Afficher la suite 

Votre réponse

2 réponses

Messages postés
25214
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 avril 2019
1943
0
Merci
Bonjour,

Déjà, merci de poster ton code correctement en précisant le LANGAGE dans les balises de code
Explications disponibles ici: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ensuite, si tu as 10 points d’interrogations... tu dois passer dans ton execute 10 variables...
Là je n'en compte que 9
Commenter la réponse de jordane45
Messages postés
2
Date d'inscription
vendredi 12 avril 2019
Statut
Membre
Dernière intervention
13 avril 2019
0
Merci
merci j'ai trouvé mon erreur je devez plus tôt mettre un null sur la valeur de l'id
<?php
   //déclaration d'une variable contenant la requête sql d'insertion  
        $insert= 'INSERT INTO  clients ( IDClients, Nom , Prenom , DateNais , Telephone , Email , noPermis ,  dateDelivrance , adresse, BoitePostal) 
        VALUES (Null,?,?,?,?,?,?,?,?,?)';
        //déclaration d'une variable contenant la requête sql de selection
        $select= 'SELECT * FROM  clients ORDER BY IDClients , Nom';
        //initialition du tableau php
        $donne=array();
        try{
            //preparation de requête d'insertion
            $smt=$db->prepare($insert);
            $smt->execute(array($Nom,$Prenom,$DateNais,$Telephone,$Email,$noPermis,$dateDelivrance,$adresse,$BoitePostal));
            $nb_insert = $smt->rowCount();
            #echo $nb_insert.' insertion effectuée<br/>';
            //preparation de la requête
            $stmt=$db->prepare($select);
            $stmt->execute();
            //tand qu'il y'a un enrégistrement alors on range les données dans un tableau php
            while($row=$stmt->fetch(PDO::FETCH_ASSOC)){
                $donne[]=$row;
            }
            unset($db);
            if(count($donne)>0){
                echo '<pres>';
                print_r($donne);
                echo '<pres>';
            }
            //s'il n'y a pas d'enregistrement
            else{
                echo 'Aucun enregistrement';
            }
        }
        catch(Exception $e){#en cas de probleme php ou sql
            print "Erreur!" . $e->getMessage() ."<br>";
        }
?>
Commenter la réponse de shadowalker19