Insertion dans une table
nasbe
Messages postés
30
Date d'inscription
Statut
Membre
-
nasbe Messages postés 30 Date d'inscription Statut Membre -
nasbe Messages postés 30 Date d'inscription Statut Membre -
Bonjour,
J'ai réalisé ce code en PHP pour ajouter des données dans ma table. Le problème est le suivant :
Lorsque je renseigne mes champs et que j'appuie sur le bouton ajouter, rien ne se passe. Aucune insertion dans ma table, je n'ai pas de message d'erreur non plus. Si quelqu'un aurait une idée, je le remercie d'avance.
J'ai réalisé ce code en PHP pour ajouter des données dans ma table. Le problème est le suivant :
Lorsque je renseigne mes champs et que j'appuie sur le bouton ajouter, rien ne se passe. Aucune insertion dans ma table, je n'ai pas de message d'erreur non plus. Si quelqu'un aurait une idée, je le remercie d'avance.
<?PHP
extract($_GET);
extract($_POST);
$hostddb = "localhost";
$loginddb = "root";
$passddb = "";
$baseddb = "escobar";
$mysql_connect=mysql_connect($hostddb,$loginddb,$passddb);
mysql_select_db($baseddb, $mysql_connect);
// Ajout d'une soirée en cas d'appui sur le bouton Ajouter
if (isset ($_REQUEST['AjouterSoiree'])){
// Connexion à la base de donnée
$table = 'soiree';
// Si le l'authentification est incorrecte on affiche un message
if ($lien == FALSE){
echo "connexion impossible à la base $bd";
} else {
// Récupération des données rentrées par l'utilisateur
$NomSoiree = $_REQUEST['NomSoiree'];
$Date = $_REQUEST['Date'];
$HeureDebut = $_REQUEST['HeureDebut'];
$HeureFin = $_REQUEST['HeureFin'];
$Musique = $_REQUEST['StyleMusical'];
$NomDj = $_REQUEST['NomDj'];
$Flyers = $_REQUEST['Flyers'];
// Sinon on exécute la requête d'insertion
$RequeteInsertionSoiree = "INSERT INTO $table VALUES (
'".addslashes($NomSoiree)."',
'".addslashes($Date)."',
'".addslashes($HeureDebut)."',
'".addslashes($HeureFin)."',
'".addslashes($Musique)."',
'".addslashes($NomDJ)."',
'".addslashes($Flyers);
$result = mysql_query($RequeteInsertionSoiree);
if($result)
echo "Bravo, l'enregistrement est effectue";
else
echo "une erreur est survenue, merci de réessayer plus tard.";
}
// Fermeture de la base
mysql_close();
}
?>
<?PHP
// Ajout d'une manifestation en cas d'appui sur le bouton Ajouter
if (isset ($_REQUEST['AjouterManif'])){
// Connexion à la base de donnée
$bd ="escobar";
$lien = mysql_pconnect ("localhost", "root", "");
mysql_select_db($bd);
$table = 'manifestation';
// Si le l'authentification est incorrecte on affiche un message
if ($lien == FALSE){
echo "connexion impossible à la base $bd";
} else {
// Récupération des données rentrées par l'utilisateur
$NomManif = $_REQUEST['NomManif'];
$DescriptionManif = $_REQUEST['DescriptionManif'];
$HeureManif = $_REQUEST['HeureManif'];
$Date = $_REQUEST['DateManif'];
// Sinon on exécute la requête d'insertion
$RequeteInsertionManif = "INSERT INTO $table VALUES('','$NomManif','$DescriptionManif','$HeureManif','$DateManif')";
mysql_query($RequeteInsertionManif);
}
// Fermeture de la base
mysql_close();
}
?>Configuration: Windows Vista Internet Explorer 7.0
4 réponses
-
Quand tu fais INSERT INTO, tu devrais peut-être d'abord nommer les champs avant de faire VALUES. Ce n'est pas obligatoire, je sais mais bon. Si tu veux ne pas faire le travail à moitié, prend le temps de tout écrire au complet. Ça évite souvent des erreurs stupides. ^^
Ensuite,
change "INSERT INTO $table VALUES
pour "INSERT INTO '.$table.' VALUES
$table n'est pas le nom de la table, c'est une variable php. Là, tu essaies d'insérer dans la table $table qui, je pense, n'existe pas d'ou le fait que tu n'as jamais rien dans ta table "soirée".
Tu as une autre ligne plus bas dans le fichier avec la même erreur. Donc change là aussi ^^ -
J'ai suivi tes conseils mais apparrement aucun changement, je commence a ne plus rien y comprendre, j'ai essayé beaucoup de chose différente. Voilà si jamais ma table soiree dans MySQL
NomSoirre (varchar100), Primary Key
Date (date)
HeureDebut (time)
HeureFin (time)
Musique (varchar 50)
NomDJ (varchar 20)
Flyers (BLOB)<?PHP // Ajout d'une soirée en cas d'appui sur le bouton Ajouter if (isset ($_REQUEST['Ajouter'])){ // Connexion à la base de donnée $bd ='escobar'; $lien = mysql_pconnect ('localhost', 'root', ''); mysql_select_db($bd); $table = 'soiree'; // Si le l'authentification est incorrecte on affiche un message if ($lien == FALSE){ echo "connexion impossible à la base $bd"; } else { // Récupération des données rentrées par l'utilisateur $NomSoiree = $_REQUEST['NomSoiree']; $Date = $_REQUEST['Date']; $HeureDebut = $_REQUEST['HeureDebut']; $HeureFin = $_REQUEST['HeureFin']; $Musique = $_REQUEST['StyleMusical']; $NomDj = $_REQUEST['NomDj']; $Flyers = $_REQUEST['Flyers']; // Test de vérification des champs, si l'un des deux est vide, on affiche un message if(empty($NomSoiree)){ echo "Le champ de nom de la soiree n'as pas ete renseigne"; } else if (empty($Date)){ echo ("la date n'a pas ete renseigne"); } else { // Sinon on exécute la requête d'insertion $RequeteInsertion = "INSERT INTO '.$table.' ('NomSoiree', 'Date', 'HeureDebut', 'HeureFin', 'Musique', 'NomDJ', 'Flyers') VALUES('$NomSoiree','$Date','$HeureDebut','$HeureFin','$Musique','$NomDj','$Flyers')"; mysql_query($RequeteInsertion); } } // Fermeture de la base mysql_close(); } ?> <html> <body> <h3>Administration des soirées </h3> <form Method="POST" Action="<?echo $_SERVER["PHP_SELF"]?>"> <fieldset> <legend>Ajouter une soirée</legend> <table> <tr></tr> <tr> <td>Nom de la soirée</td> <td><input type="texte" name="NomSoiree" size="40"</td> </tr> <tr> <td>Date</td> <td><input type="texte" name="Date" size="40"</td> </tr> <tr> <td>Heure de début</td> <td><input type="texte" name="HeureDebut" size="40"</td> </tr> <tr> <td>Heure de fin</td> <td><input type="texte" name="HeureFin" size="40"</td> </tr> <tr> <td>Style musical</td> <td><input type="texte" name="StyleMusical" size="40"</td> </tr> <tr> <td>Nom du DJ</td> <td><input type="texte" name="NomDJ" size="40"</td> </tr> <tr> <td>Flyers</td> <td><input type="texte" name="Flyers" size="40"</td> </tr> <tr> <td></td> <td><input type ="submit" name = "Ajouter" value="Ajouter"></td> </tr> </table> </fieldset> </form> </body> </html> -
Il manque des points partout avec des " lol. Lorsque tu as un string, tu dois mettre des " autour du mot.
Là tout de suite, j'ai pas le temps de regarder mais je repasserais faire un tour plus tard si jamais tu n'as pas avancé plus ^^ -
Ben j'ai fais beaucoup de test différent et toujours pas d'amélioration, ca serait cool si on pouvait aller pas à pas pour trouver le problème, là je navigue.