Mysqli
lgslgs
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai écrit un programme pour envoyer des données dans une base de données mais je cette erreur:
Warning: mysqli_stmt_bind_result(): Number of bind variables doesn't match number of fields in prepared statement in C:\wampp64\www\OCR_tests\formulaire.php on line 92
J'ai pourtant compter le nombre le nombre de variable
Voici mon code
Aidez moi svp merci
Merci
J'ai écrit un programme pour envoyer des données dans une base de données mais je cette erreur:
Warning: mysqli_stmt_bind_result(): Number of bind variables doesn't match number of fields in prepared statement in C:\wampp64\www\OCR_tests\formulaire.php on line 92
J'ai pourtant compter le nombre le nombre de variable
Voici mon code
<!DOCTYPE html> <html> <head> <title>Formulaire</title> <meta charset="utf-8"> </head> <body> <form method="post" action=""> <h1>Remplissez ce formulaire</h1><br> <label for="nom">Nom</label> <input type="text" name="nom" id="nom" value="<?php if(isset($_POST['nom'])) { echo $_POST['nom']; } ?>" required><br> <label for="prenom">Prénom</label> <input type="text" name="prenom" id="prenom" value="<?php if(isset($_POST['prenom'])) { echo $_POST['prenom']; } ?>" required><br><br> <label for="commentaire">Commentaire</label><br> <textarea name="commentaire" id="commentaire" rows="8" lows="25" value="<?php if(isset($_POST['commentaire'])) { echo $_POST['commentaire']; } ?>" required></textarea><br><br> <label for="pays">Pays</label> <select name="pays" id="pays"> <option value="Congo">Congo</option> <option value="France">France</option> <option value="Allemagne" selected="selected">Allemagne</option> </select><br><br> <!-- Les cases cochées auront pour valeur "on" --> <p>Fast food préféré(s)</p> <label for="macdonald">MacDonald</label> <input type="checkbox" name="fastfood[]" value="MacDonald" id="macdonald"><br> <label for="burgerking">Burgerking</label> <input type="checkbox" name="fastfood[]" value="Burgerking" id="burgerking" checked="checked"><br> <label for="kfc">KFC</label> <input type="checkbox" name="fastfood[]" value="KFC" id="kfc"><br><br> <p>Etes-vous étudiant ?</p> <input type="radio" name="choix" value="Oui" id="oui" checked="checked"> <label for="oui">Oui</label> <input type="radio" name="choix" value="Non" id="non"> <label for="non">Non</label><br><br> <input type="submit" name="submit" value="Soumettre"> </form> </body> </html> <?php $nom= isset($_POST['nom']) ? trim($_POST['nom']):NULL ; $prenom= isset($_POST['prenom']) ? trim($_POST['prenom']):NULL; $commentaire=isset($_POST['commentaire']) ? trim($_POST['commentaire']):NULL; if(isset($_POST['submit'])) { if(!empty($nom) && !empty($prenom) && !empty($commentaire)) { if(isset($_POST['fastfood'])) { echo '<br>Nom: '.htmlspecialchars($nom).'<br> Prénom: '.htmlspecialchars($prenom).'<br> Commentaire: '.$commentaire.'<br>'; echo 'Pays: '.$_POST['pays'].'<br><br>'; echo "Fast food préféré<br>"; foreach($_POST['fastfood'] as $ff) { echo "$ff<br>"; } if($_POST['choix']=="Oui") { echo "<br>Vous êtes étudiant"; } else { echo "<br>Vous n'êtes pas étudiant"; } //BDD $bdd=mysqli_connect('127.0.0.1','root','','mysqli'); if($bdd) { echo "<br>Conexion réussie"; } else { echo "<br>Erreur connexion"; } $req=mysqli_prepare($bdd,'INSERT INTO mysqli_membres (nom, prenom, commentaire, pays, fastfood, etudiant) VALUES (?,?,?,?,?,?)'); mysqli_stmt_bind_param($req, "ssssss", $nom, $prenom, $commentaire, $pays, $fastfood, $choix); mysqli_stmt_execute($req); mysqli_stmt_bind_result($req, $donnee['nom'], $donnee['prenom'], $donnee['commentaire'], $donnee['pays'], $donnee['fastfood'],$donnee['etudiant']); while(mysqli_stmt_fetch($req)) { echo '<br>'.$donnee['nom']; } echo "<br>Envoyé"; } else { echo "Vous devez choisir votre fast food préféré"; } } else{ echo "Vous devez saisir tous les champs"; } } ?>
Aidez moi svp merci
Merci
A voir également:
- Mysqli
- Mysqli::real_connect(): (hy000/1698): access denied for user 'root'@'localhost' - Forum MySQL
- Msql ou mysqli ✓ - Forum PHP
- Mysqli::real_connect(): (hy000/1045): access denied for user - Forum MySQL
- Problème de requête MySQLi ✓ - Forum PHP
- &Quot;Il manque l'extension mysqli." Erreur MySQLi - Forum Webmastering
2 réponses
Bonjour,
je t'invite vivement à mettre en place une gestion des erreurs
https://www.php.net/manual/fr/mysqli-stmt.error.php
je t'invite vivement à mettre en place une gestion des erreurs
https://www.php.net/manual/fr/mysqli-stmt.error.php
Et aussi quand j'ai testé sans le bind result c a d en s'arrêtant à mysqli_stmt_execute, les données n'ont pas été insérées dans la base de données. Du coup j'aimerai savoir d'où viens le problème
par ailleurs, que contient $choix?