Insertion dans une table

Fermé
nasbe Messages postés 30 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 11 juin 2008 - 2 juin 2008 à 20:24
nasbe Messages postés 30 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 11 juin 2008 - 4 juin 2008 à 10:25
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.


<?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();
} 
?>
A voir également:

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 ^^
0
nasbe Messages postés 30 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 11 juin 2008
3 juin 2008 à 14:12
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>

0
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 ^^
0
nasbe Messages postés 30 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 11 juin 2008
4 juin 2008 à 10:25
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.
0