IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

problème INSERT MYSQL


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 42
    Points : 17
    Points
    17
    Par défaut problème INSERT MYSQL
    Bonjour à tous,

    J'ai essayé d'insérer des informations via une formulaire dans une base de donnée MYSQL mais rien n'est ajouté.
    Pour information, on est bien connecté à la base.
    Ceci mon code :
    ......................................
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    include('connexion.php');
     
    		$mod=mysql_real_escape_string($_POST['mod']);
    		$site=mysql_real_escape_string($_POST['site']);
    		$etat_site=mysql_real_escape_string($_POST['etat_site']);
    		$commentaire=mysql_real_escape_string($_POST['commentaire']);
     
     
    	//INSERT
          $sql="INSERT INTO mode(id_mod,mod,site,etat_site,commentaire) VALUES('','$mod','$site','$etat_site','$commentaire')" ; 		
    	  $req=mysql_query($sql);
    Je vous remercie d'avance!

    Cordialement

    Solofo

  2. #2
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Points : 658
    Points
    658
    Par défaut
    salut Rabarivelo,
    tu peut déjà commencer par afficher les erreurs que renvoie mysql:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = mysql_query($query) or die(mysql_error());
    Le monde se divise en deux: ceux qui utilisent le tag et les autres.

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonsoir,

    J'imagine que id_mod est un clé primaire auto-incrémenté?
    Si c'est le cas, essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql="INSERT INTO mode(mod,site,etat_site,commentaire) VALUES('$mod','$site','$etat_site','$commentaire')" ; 		
    	  $req=mysql_query($sql) or die(mysql_error());
    A+.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 21
    Points : 26
    Points
    26
    Par défaut Autre façon
    tu peux aussi faire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql="INSERT INTO mode(id_mod,mod,site,etat_site,commentaire) VALUES(null,'$mod','$site','$etat_site','$commentaire')" ; 		
    	  $req=mysql_query($sql);

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Je pense que c'est à cause des mots "mode" et "mod" qui seraient réservés en SQL. C'est pour cela qu'il est conseillé de mettre les noms des colonnes/tables entre guillemets obliques (Alt Gr + 7) dans les requêtes.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 28
    Points : 27
    Points
    27
    Par défaut
    Bonjour,

    Si ton id_mod est auto incrémenté tu n'a pas besoin de le renseigner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $sql="INSERT INTO mode
      (_mod,site,etat_site,commentaire) 
    VALUES
      ('".$mod."','".$site."','".$etat_site."','".$commentaire."')" ; 		
     
    $req=mysql_query($sql);
    De plus, je préfère les chaines concaténées, MySql attend les variables non numériques entre simple quote (')
    Le mot cle 'mod' est réservé pour les calculs Modulo si tu y tiens absolument met un '_' dans le noms de ton champ. Mieux change le

Discussions similaires

  1. Problème insertion MYSQL
    Par domino313131 dans le forum JDBC
    Réponses: 0
    Dernier message: 17/05/2011, 15h28
  2. [MySQL] Problème insertion de données dans table Mysql
    Par Malcolm78 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/10/2007, 17h25
  3. Réponses: 1
    Dernier message: 07/08/2006, 10h22
  4. Problème sur requête insert mysql
    Par kcizth dans le forum Requêtes
    Réponses: 5
    Dernier message: 04/02/2006, 18h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo