Bonjour, alors voilà sa fais 2 jour que j'essaye de crée un simple formulaire de 7 informations, mon parcours ?
Utiliser mes cours qui sont ancien et non approprié pour PHP7 , installer xampp PHP5 , bug beaucoup donc jai réinstaller PHP7 avec car jai compris qu'il fallait changer mysql par mysqli mais impossible d'installer car jai mal desinstaller l'ancien logiciel, donc je suis passer à wampp, j'ai vu que mysqli n'étais pas le seul problème et 0 aide sur internet car sa ne parle que de POO , abandonner mes cours pour passer à la POO ( avec le déconseil de ma professeur car c'est un niveau BTS et je suis en terminale ), copier coller des formulaire juste pour vérifier si ils marchent ou pas ( car passer toute la nuit sa fatigue et m'empêche de réfléchir), après vérification j'ai essayé de comprendre le code, pour ensuite le réutiliser sur ma page, puis me retrouver avec des Erreur de Syntax et une erreur de bind_param ( que j'ai réussi à règler ).. oui je suis fier pour la fin
Sérieuseument j'y ai passé toute la nuit il est 8:19 je n'arrive toujours pas à insérer des donnée dans ma base de donnée..
voici mon erreur et code : Message d'erreur : Erreur de syntaxe pr�s de ' , , , , ) VALUES('',?, ?, ?, ?, ?, ?)' � la ligne 1
J'ai compris que c'était une erreur du à ma requête mais j'ai retourner la ligne de ' " $ , . rien n'y faire, j'ai cherché sur internet mais c'est flou alors je ne peux demander que votre aide simplement pour crée un formulaire qui marche. C'est vraiment dommage car j'aime beaucoup la programmation mais c'est vraiment à s'y cogner la tête contre le mur..
<?php
// Vérifie qu'il provient d'un formulaire
if ($_SERVER["REQUEST_METHOD"] == "POST") {
//identifiants mysql
$host = "localhost";
$username = "root";
$password = "";
$database = "Utilisateur";
$Prénom = $_POST["Prénom"];
$Nom = $_POST["Nom"];
$Pseudo = $_POST["Pseudo"];
$DateN = $_POST["DateN"];
$Genre = $_POST["Genre"];
$Email = $_POST["Email"];
//Ouvrir une nouvelle connexion au serveur MySQL
$mysqli = new mysqli($host, $username, $password, $database);
//Afficher toute erreur de connexion
if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
//préparer la requête d'insertion SQL
$statement = $mysqli->prepare("INSERT INTO inscription ($Prénom, $Nom, $Pseudo, $DateN, $Genre, $Email) VALUES('',?, ?, ?, ?, ?, ?)");
if ($statement === false) {
printf("Message d'erreur : %s\n", $mysqli->error);
die();
}
//Associer les valeurs et exécuter la requête d'insertion
$statement->bind_param('ssssss', $Prénom, $Nom, $Pseudo, $DateN, $Genre, $Email);
if($statement->execute()){
print "Salut " . $Nom . "!, votre adresse e-mail est ". $Email;
}else{
print $mysqli->error;
}
}
?>
Evites les accents dans les nom de variable. Dans ta requête tu nomes 6 champs pour une transmission de 7 valeurs.
Merci de signaler votre sujet résolu, cela nous évite des pages de lecture inutile pour arriver au bout de 15 réponses sur la dernière qui dit "merci problème résolut!"
Pour commencer, on ne met jamais d'accent sur les variables, donc enlève le é de $Prénom. Petit conseil, ne commence jamais les variables par des majuscules non plus.
La première c'est qu'au lieu de mettre tes noms de colonne dans les premières parenthèses, tu mets des variables.
La 2ème c'est que dans tes premières parenthèses tu as 6 colonnes et dans tes secondes parenthèses tu as 7 valeurs. Il doit forcément y avoir le même nombre d'éléments dans les 2 parenthèses.
Voici un exemple d'insert :
INSERT INTO table (nom_colonne_1, nom_colonne_2, ...
VALUES (?, ?, ...)
Tu devrais donc essayer d'enlever le '' dans les parenthèses VALUES pour avoir :
Tout d'abord, merci énormément pour vos réponses !
Vous m'avez sauvé et appris beaucoup en si peu de temps !
Je vais pouvoir allez dormir tranquillement maintenant.
Et je vous souhaite bon courage !
(formulaire) Message d'erreur : Erreur de syntaxe
× 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.
Pas d'aide concernant le code par MP, le forum est là pour ça :)