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

Résolu/Fermé
shadowalker19 Messages postés 5 Date d'inscription vendredi 12 avril 2019 Statut Membre Dernière intervention 15 août 2020 - 12 avril 2019 à 17:27
shadowalker19 Messages postés 5 Date d'inscription vendredi 12 avril 2019 Statut Membre Dernière intervention 15 août 2020 - 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

2 réponses

shadowalker19 Messages postés 5 Date d'inscription vendredi 12 avril 2019 Statut Membre Dernière intervention 15 août 2020
13 avril 2019 à 09:51
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>";
        }
?>
0