par
Muta » 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:
<?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.
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.
Je ne comprend pas pourquoi je n'arrive pas à faire passer le contenue des variables à la requête? Pourriez vous m'aider?
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:
[php]<?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);
?>[/php]
Et voilà le résultat, qui affiche le contenu des variables et la requête juste avant qu'elle soit transmise à la bdd.
[quote]
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.[/quote]
Je ne comprend pas pourquoi je n'arrive pas à faire passer le contenue des variables à la requête? Pourriez vous m'aider?