Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur formulaire PHP

Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter

Sujet résolu
    19 octobre 2018 à 21:57:37

    Bonsoir,

    J'ai un problème de formulaire PHP que je n'arrive pas à debuger malgré des recherches sur plusieurs sites (dont OpenClassrooms ;)).

    Voici mon formulaire (j'ai ajouté juste la form, le reste ne sert qu'à la mise en page), ainsi que mon code PHP qui sert à l'insertion :

    formulaire.php :

    <form action="insertion_client.php" method="post">
    	<p>
    		<input type="text" name="nom">
    		<br />
    		<input type="text" name="prenom">
    		<br />
    		<input type="text" name="adresse">
    		<br />
    		<input type="text" name="ville">
    		<br />
    		<input type="text" name="numero">
    		<br />
    	<input type="submit" value="Valider" />
    	</p>
    </form>

    insertion_client.php :

    <?php
    try
    {
    	// On se connecte à MySQL
    	$bdd = new PDO('mysql:host=localhost;dbname=dbname;charset=utf8', 'username', 'passwd', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    }
    catch(Exception $e)
    {
    	// En cas d'erreur, on affiche un message et on arrête tout
            die('Erreur : '.$e->getMessage());
    }
    $nom = $_POST['nom'];
    echo $nom . '<br />';
    $prenom = $_POST['prenom'];
    echo $prenom . '<br />';
    $adresse = $_POST['adresse'];
    echo $adresse . '<br />';
    $ville = $_POST['ville'];
    echo $ville . '<br />';
    $numero = $_POST['numero'];
    echo $numero . '<br />';
    
    $req = $bdd->prepare('INSERT INTO clients(NOM, PRENOM, ADRESSE, VILLE, NUMERO) VALUES(:nom, :prenom, :adresse, :ville, :numero)');
    $req->execute(array(
    	'NOM' => $nom,
    	'PRENOM' => $prenom,
    	'ADRESSE' => $adresse,
    	'VILLE' => $ville,
    	'NUMERO' => $numero
    	));
    echo 'Le client a bien été ajouté !';
    ?>

    PS : le code est anonymisé 

    Merci d'avance !:honte:


    • Partager sur Facebook
    • Partager sur Twitter
      19 octobre 2018 à 22:07:02

      Bonsoir,

      Il serait bien d'avoir l'erreur complète

      Dans ta requête insert, les paramètres nommées sont en minuscules alors que dans l'execute, elles sont en majuscules

      • Partager sur Facebook
      • Partager sur Twitter
        19 octobre 2018 à 22:10:13

        Bonsoir,

        Merci pour ta réponse rapide.

        Je retourne taffer mes formulaires, effectivement, ce sont mes paramètres nommés qui posaient problème...

        Erreur de débutant je pense :D:D

        • Partager sur Facebook
        • Partager sur Twitter
          19 octobre 2018 à 22:13:54

          Pas de soucis.

          Pour une fois que les erreurs PDO sont activés.

          Pense à passer ton sujet en résolu.

          • Partager sur Facebook
          • Partager sur Twitter

          Erreur formulaire PHP

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown