problème d'INSERT UPDATE et DELETE

flyn
Invité n'ayant pas de compte PHPfrance

16 mai 2013, 23:47

Bonjour les codeurs j'ai du mal à insérer faire une mise à jour ou un Delete avec ma base de donnée! merci de m'aider.

Code : Tout sélectionner

<?php //ici on inclu la page de configuration config.php require_once("config.php"); //ici on insiste sur le fait qu'on voudrait toutes nos données encodées en utf mysql_query("SET NAMES UTF8"); $annee_naissance=mysql_real_escape_string($_POST['annee_naissance']); $annee=mysql_real_escape_string($_POST['annee']); $nom=mysql_real_escape_string($_POST['nom']); $pays=mysql_real_escape_string($_POST['pays']); $prenom=mysql_real_escape_string($_POST['prenom']); $resume=mysql_real_escape_string($_POST['resume']); $titre=mysql_real_escape_string($_POST['titre']); /*on test les genre choisi l'action à effectuer*/ echo "<hr/><h2> \n"; if(isset($_POST['inserer'])) {echo "Insertion du film $titre éffectuée avec succès.";} elseif(isset($_POST['modifier'])) {echo "Modification du film $titre effectuée avec succès.";} elseif(isset($_POST['detruire'])) {echo "Votre demande de destruction du film $titre à été validée.";} //on test le genre choisi if(!isset($_POST['genre'])) {$genre=array();} else{$genre=$_POST['genre'];} echo "</h2><hr/>"; //affichage des données echo "Titre: $titre <br/> Année: $annee <br/> Pays: $pays <br/> \n"; //preparation des données pour insertion $resultat_genre=" "; $separateur= " "; for($i=0;$i<count($genre);$i++) { $resultat_genre .= $genre[$i] .$separateur; $separateur=","; } echo "Genre : $resultat_genre <br/>\n"; echo "Resumé: $resume <br/>\n"; echo "mise en scène par: $nom $prenom <br/>\n"; //ici on se connecte au serveur $connexion=mysql_pconnect(SERVEUR,LOGIN,PASS) or mysql_error("la connexion au serveur à échoué" ); //ici on se connecte à la base de données $base=mysql_select_db(BASE,$connexion) or mysql_error("la connexion à la base à échoué"); if(isset($_POST['inserer'])) $requete="INSERT INTO films(titre,annee,nom_realisateur,prenom_realisateur,pays,genre,resume). VALUES('$titre','$annee ','$nom ','prenom ','$pays ','$resultat_genre ','$resume ')"; elseif(isset($_POST['modifier'])) $requete="UPDATE films SET titre='$titre',annee='$annee ',nom_realisateur='$nom ',pays='$pays ', genre='$resultat_genre ',resume='$resume ',WHERE titre='$titre'"; elseif(isset($_POST['detruire']))$requete="DELETE films WHERE titre='$titre'"; $resultat_final=mysql_query($requete); if(isset($resultat_final)){echo'<br/><b style="color:green;">Requete effectuée </b>';} else{ echo 'une erreur est survenue :'.mysql_error($resultat_final);} ?>

Mammouth du PHP | 619 Messages

17 mai 2013, 08:38

Bonjour,

tu dois deja un souci comment peux tu faire un update du titre si celui-ci change faut que du recupere l'id et que tu modifies
$requete="UPDATE films SET titre='$titre',annee='$annee ',nom_realisateur='$nom ',pays='$pays ',genre='$resultat_genre ',resume='$resume' WHERE id='$id'";
$requete="DELETE from films WHERE id='$id'"

Eléphant du PHP | 51 Messages

17 mai 2013, 08:41

Bonjour,
Tu aurais du poster dans le topic Php Débutant, tu aurais eu plus de réponses.

Quel est le message d'erreur que tu obtiens ?

Juste en parcourant vite fait ton code je constate que la commande UPDATE est mauvaise, elle devrait plutôt être :
"UPDATE `films` SET `titre`='$titre',
					`annee`='$annee',
					`nom_realisateur`='$nom',
					`pays`='$pays',
					`genre`='$resultat_genre',
					`resume`='$resume'
					WHERE titre = $titre"
(j'ai également changé la syntaxe parce qu'elle est plus lisible mais c'est surtout l'absence des caractères ` et la virgule après '$resume' qui était en tort)