Insertion dans une table

nasbe Messages postés 30 Statut Membre -  
nasbe Messages postés 30 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.

<?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

X-Fan
 
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 Statut Membre
 
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
X-Fan
 
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 Statut Membre
 
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