Problème d'INSERT DELETE et UPDATE avec mysql

Fermé
flyn - 16 mai 2013 à 03:22
 flyn - 16 mai 2013 à 22:58
Bonjour,

j'ai du mal à insérer de nouvelles données dans ma base de donnée avec insert de même pour update et delete.
je vous envoi mon code:


[code]


<?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.";}

if(isset($_POST['modifier'])) {echo "Modification du film $titre effectuée avec succès.";}
if(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( );



//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')";
if(isset($_POST['modifier']))
$requete="UPDATE films SET titre=$titre , annee= $annee,nom_realisateur=$nom,
. pays= '$pays' , genre='$resultat_genre' ,
.resume='$resume' , WHERE titre='$titre' ";
if(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);}












?>










[/code]


Ignorez la sécurité pour l'heure je m'occupe juste du fonctionnement.
Cordialment.

A voir également:

1 réponse

the_jb Messages postés 651 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 9 mai 2016 58
16 mai 2013 à 10:23
Pourquoi te compliquer la vie ?

$requete="INSERT INTO films (titre , annee ,nom_realisateur , prenom_realisateur, pays , genre , resume) VALUES ('$titre' ,'$annee', '$nom', '$prenom','$pays' , '$resultat_genre ', '$resume')";

if(isset($_POST['modifier']))
{
$requete="UPDATE films SET titre='$titre', annee= $annee, nom_realisateur='$nom', pays= '$pays' , genre='$resultat_genre' , resume='$resume' , WHERE titre='$titre' ";

Pourquoi avoir mis un point devant certain nom de colonne ? (.pays .resume)
0
juste pour la concaténation !!!! alors vous avez une idée?
0
the_jb Messages postés 651 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 9 mai 2016 58
16 mai 2013 à 22:43
ça ne te sert à rien de concaténer le nom d'une colonne de ta table et dans une requête on peut le faire de manière différente comme avec {} ou ". ." (ou avec des quottes, tout dépend ton ouverture)

c'est déjà une erreur à corriger.
0
merci mais ça ne change rien au problème en fait je corrige un exo d'un élève et je trouve pas ou il à vraiment problème parce que je viens de corriger ça!
0