Erreur INSERT INTO !

Azepo -  
dwieser Messages postés 235 Statut Membre -
Bonjour,
je ne vois pas l'erreur ! Pourtant le server me dis qu'as la ligne 6 il y as ceci :
Notice: Undefined variable: titre in D:\wamp\www\librydoc\admin\adnotices.php on line 6
"titre"(il me met l'erreur pour chaque $) Pourquoi ?

<?php       
mysql_connect("localhost", "librydoc","31p71h49" );//on se connecte à MySQL    
mysql_select_db("librydoc"); //On selectionne la base    
 //on commence par récupérer les valeurs des champs    
mysql_query("INSERT INTO notices (titre, auteur, dtp, editeur, collection, collation, isbn, ncol, nature, genre, genre2, prix, mcl, description)
VALUES ('','$titre','$auteur''$dtp','$editeur','$collection''$collation','$isbn','$ncol''$nature','$genre','$genre2''$prix','$mcl','$description')");  
mysql_close();// facultative, on ferme la connexion    
?>    

Merci.

4 réponses

  1. astuces72 Messages postés 2146 Date d'inscription   Statut Membre Dernière intervention   1 669
     
    enlève '',
    ('$titre','$auteur''$dtp','$editeur','$collection''$collation','$isbn','$ncol''$nature','$genre','$genre2''$prix','$mcl','$description')");
    0
    1. Azepo
       
      Toujours l'erreur !
      0
    2. astuces72 Messages postés 2146 Date d'inscription   Statut Membre Dernière intervention   1 669
       
      enlève '',
      ('$titre','$auteur''$dtp','$editeur','$collection''$collation','$isbn','$ncol''$nature','$genre','$genre2''$prix','$mcl','$description')");
      0
    3. Azepo
       
      Idem voici le code
      <?php       
      mysql_connect("localhost", "librydoc","31p71h49" );//on se connecte à MySQL    
      mysql_select_db("librydoc"); //On selectionne la base    
       //on commence par récupérer les valeurs des champs    
      mysql_query("INSERT INTO notices VALUES($titre$auteur$dtp$editeur$collection$collation$isbn$ncol$nature$genre$genre2$prix$mcl$description)");  
      mysql_close();// facultative, on ferme la connexion    
      ?> 
      0
    4. Azepo
       
      Notice: Undefined variable: titre in D:\wamp\www\librydoc\admin\adnotices.php on line 11

      Voici l'erreur retourné pour chaque valeur'titre, auteur....)
      0
    5. astuces72 Messages postés 2146 Date d'inscription   Statut Membre Dernière intervention   1 669
       
      tu ne t'es pas planté dans tes nom de variable dans ta base ?
      sur toutes les variables ça me semble quand même impossible !!!
      tu as bien une table au moins avec "notices" comme nom ?
      0
  2. astuces72 Messages postés 2146 Date d'inscription   Statut Membre Dernière intervention   1 669
     
    nan mais enlève que le 1er qui doit correspondre à un id unique de ta base, que tu as du mettre !

    <?php
    mysql_connect("localhost", "librydoc","31p71h49" );//on se connecte à MySQL
    mysql_select_db("librydoc"); //On selectionne la base
    //on commence par récupérer les valeurs des champs
    mysql_query("INSERT INTO notices (titre, auteur, dtp, editeur, collection, collation, isbn, ncol, nature, genre, genre2, prix, mcl, description)
    VALUES ('$titre','$auteur''$dtp','$editeur','$collection''$collation','$isbn','$ncol''$nature','$genre','$genre2''$prix','$mcl','$description')");
    mysql_close();// facultative, on ferme la connexion
    ?>

    ou ça

    <?php
    mysql_connect("localhost", "librydoc","31p71h49" );//on se connecte à MySQL
    mysql_select_db("librydoc"); //On selectionne la base
    //on commence par récupérer les valeurs des champs
    mysql_query("INSERT INTO notices VALUES ('', '$titre','$auteur''$dtp','$editeur','$collection''$collation','$isbn','$ncol''$nature','$genre','$genre2''$prix','$mcl','$description')");
    mysql_close();// facultative, on ferme la connexion
    ?>
    0
  3. Utilisateur anonyme
     
    Bonjour

    La requête que tu avais écrite dans ton premier message était presque correcte, il n'y avait à corriger que la chaine vide dans VALUES qui ne correspond à aucun des champs déclarés .
    Le message d'erreur le disait : la variable $titre n'est pas définie. C'est une erreur PHP, pas une erreur mySQL.
    Il ne faut pas confondre les variables PHP et les noms des champs d'une table de base de données. Même si souvent on donne le même nom car c'est plus pratique.
    Dans ton cas, d'où vient la variable $titre, qui contient la valeur que tu veux donner au champ titre ? De nulle part, on ne voit pas avant de $titre=quelquechose. Donc cette variable est bien indéfinie comme le dit le message d'erreur.
    Si ces valeurs sont cesées venir d'un formulaire, tu devrais avoir (par exemple) :
    if (isset($_POST['titre'])) { // si c'est bien un envoi de formulaire 
      $titre=$_POST['titre']; 
      $auteur=$_POST['auteur']; 
      ... 
      // et seulement après, ta requête, quand toutes tes variables PHP sont définies. 
    mysql_connect("localhost", "librydoc","31p71h49" );//on se connecte à MySQL    
    mysql_select_db("librydoc"); //On selectionne la base    
     //on commence par récupérer les valeurs des champs    
    mysql_query("INSERT INTO notices (titre, auteur, dtp, editeur, collection, collation, isbn, ncol, nature, genre, genre2, prix, mcl, description)
    VALUES ('$titre','$auteur''$dtp','$editeur','$collection''$collation','$isbn','$ncol''$nature','$genre','$genre2''$prix','$mcl','$description')");  
    mysql_close();// facultative, on ferme la connexion    
    ?>    
    
    0
  4. dwieser Messages postés 235 Statut Membre 9
     
    bonjour,

    attention à la ponctuation
    tu devrais prendre quelques cours...............................

    j'ai retravaillé ton code

    mais quelque chose m'interpelle tu travaille sur wamp
    je l'ai vu au dessus

    avec wamp tu dois créer une base de données
    je doute que tu l'es faite

    mysql_connect('localhost', 'librydoc','31p71h49');

    ici localhost ok après tu mets 'librydoc' si tu as installé wamp par default c'est 'root' et après 31p71..... ça le mot de passe QUE TU AS MI OK

    mysql_select_db('librydoc'); pour ici librydoc, c'est le nom de ta base de données
    ce n'est pas le nom d'un dossier ou voir d'un fichier, ça rien à voir

    ******************************
    <?php

    mysql_connect('localhost', 'root','31p71h49');

    mysql_select_db('librydoc');

    *************************************
    composition tu devrais avoir une base de nom "librydoc"
    tu as une table de nom "notices"
    et après tu dois avoir 14 colonnes
    ********************************************

    <?php   
    
    mysql_connect('localhost', 'librydoc','31p71h49');    
       
    mysql_select_db('librydoc');   
    
    mysql_query('insert into notices (titre, auteur, dtp, editeur, collection, collation, isbn, ncol, nature, genre, genre2, prix, mcl, description)  
    value ("'.$titre.'", "'.$auteur.'", "'.$dtp.'", "'.$editeur.'", "'.$collection.'", "'.$collation.'", "'.$isbn.'", "'.$ncol.'", "'.$nature."', "'.$genre.'", "'.$genre2.'", "'.$prix.'", "'.$mcl.'", "'.$description.'")');    
    mysql_close();      
    ?>      
    
    


    pour creer ta base de données ouvre ton navigateur pour aller sur internet
    et tu remplaces htpp:// MACHIN et tu écris localhost puis entrée
    après tu choisis PHPMYADMIN

    puis après si tu ne sais pas, tu sais quoi faire......................à plus

    Moi je plante et toi tu creuses !!!
    0