Requête INSERT INTO avec variables
Posté : 04 avr. 2011, 22:36
Bonjour à tous!
Voilà, j'ai fais ce code, qui a pour but de simplement faire une insertion dans une BDD.
Les données saisies par l'utilisateur sont correctement transmises depuis le formulaire, mais impossible de les transmettre dans la requête.
Voilà mon code:
Voilà, j'ai fais ce code, qui a pour but de simplement faire une insertion dans une BDD.
Les données saisies par l'utilisateur sont correctement transmises depuis le formulaire, mais impossible de les transmettre dans la requête.
Voilà mon code:
<?php
//Initialisation des principales variables
$Bdd="norvegien";
$Password="Cu9buXnMAYzc6CVs";
$User="root";
$Connect="";
$Requetenum="SELECT * FROM theorie";
$Requete="INSERT INTO theorie (id ,theme,regle ,exemple ,lecon) VALUES ('".$Id."', '".$Theme."', '".$Regle."', '".$Exemple."', '".$Lecon."');";
//Ouverture de la BDD
$Connect=mysqli_connect("", "$User", "$Password", "$Bdd") or die ("Impossible de se connecter à la Bdd. <br>");
//Récupération des données
If($_POST[theme] != "") {$Theme=$_POST[theme];} Else {die("Le champs \"Titre\" est vide");};
If ($_POST[regle] != "") {$Regle=$_POST[regle];} Else {die("Le champs \"Règle\" est vide");};
If ($_POST[exemple] != "") {$Exemple=$_POST[exemple];} ELSE {$Exemple=NULL;};
If ($_POST[lecon] != "") {$Lecon=$_POST[lecon];} ELSE {$Lecon=NULL;};
//Détermination du numéros à attribuer à l'ID
$Ok=mysqli_query($Connect, $Requetenum) or die ("Erreur dans l'envoi de la requête de détermination du nombre à attribuer à l'ID.<br>");
If (mysqli_num_rows($Ok))
{$Num=mysqli_num_rows($Ok) or die ("Erreur dans la d&ecute;termination du nombre de lignes retourn&ecute;es! <br>");
}
Else ($Num=0);
$Id=$Num+1;
//Affichage du tableau récapitulatif des données enregistrées
echo("<center>");
echo ("<table border=1>");
echo ("<tr><td><b>ID</b></td><td><b>Titre</b></td><td><b>Règle</b></td><td><b>Exemple</b></td><td><b>Leçon</b></td></tr>");
echo ("<tr><td>".$Id."</td><td>".$Theme."</td><td>".$Regle."</td><td>".$Exemple."</td><td>".$Lecon."</td></tr>");
echo ("</table></center>");
//Affichage de la requête
echo ("".$Requete."<br>");
//Préparation de la requête préparée
$Ok=mysqli_query($Connect, $Requete) or die ("Impossible d'exécuter la requête d'insertion.<br>");
//Récupération du nombre de ligne créées.
$Num=mysqli_stmt_affected_rows($Init) or die ("Erreur dans la récupération du nombre de lignes affectées.<br>");
//Affichage du nombre de ligne créées.
Echo("<br>L'insertion a généré {$Num} ligne(s).<br>");
//Fermeture de la BDD
$Ok=mysql_close($Connect);
?>
Et voilà le résultat, qui affiche le contenu des variables et la requête juste avant qu'elle soit transmise à la bdd.
Je ne comprend pas pourquoi je n'arrive pas à faire passer le contenue des variables à la requête? Pourriez vous m'aider?ID Titre Règle Exemple Leçon
3 title contenue voilà l\'exemple 12
INSERT INTO theorie (id ,theme,regle ,exemple ,lecon) VALUES ('', '', '', '', '');
Impossible d'exécuter la requête d'insertion.