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 :

[Conception] probleme d'enregistrement dans une table


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 643
    Points : 94
    Points
    94
    Par défaut [Conception] probleme d'enregistrement dans une table
    salut ,j'ai un probleme à enregistrer des donnée dans ma table mon code est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    [FONT=Courier New]     $sql = "INSERT INTO infos_tbl(id, nom, prenom,email, icq, titre, url) VALUES('','$nom','$prenom','$email','$icq','$titre','$url')"[/FONT][FONT=Courier New]; 
     
        [/FONT][FONT=Courier New]
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error[/FONT][FONT=Courier New]()); [/FONT]
    
    le message d'erreur est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Erreur SQL !INSERT INTO info_tbl(ip,name,time,date,description) VALUES('127.0.0.1','','','','')
    La table 'ma_base.info_tbl' n'existe pas

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Je vois dans ton code
    infos_tbl
    et dans l'erreur
    info_tbl
    Est-ce normla tu t'es pas trompé de table ? ou de code ?

  3. #3
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    en effet, y'a pas que ca qui est différent, toute la requete est différente
    Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure

  4. #4
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 643
    Points : 94
    Points
    94
    Par défaut
    l'erreur n'est pas dans le nom de la table.
    ce que je veut est juste d'ecrire une donnée dans ma table.

  5. #5
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    On a bien compris ce que tu voulais... Mais toi tu n'a pas compris notre remarque:

    Ta requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "INSERT INTO infos_tbl(id, nom, prenom,email, icq, titre, url) VALUES('','$nom','$prenom','$email','$icq','$titre','$url')"
    Ton message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Erreur SQL !INSERT INTO info_tbl(ip,name,time,date,description) VALUES('127.0.0.1','','','','')
    La table 'ma_base.info_tbl' n'existe pas
    1) si tu compares, le message d'erreur n'est pas DU TOUT en rapport avec la requete
    2) le message d'erreur t'indique clairement que la table info_tbl n'existe pas.

    Je ne vois pas ce qu'on peut faire de plus pour toi dans ce cas...
    Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure

  6. #6
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 643
    Points : 94
    Points
    94
    Par défaut
    la table existe et je l'ai crée avec phpMyAdmin.
    voila le bout de code qui est avant et me sert pour me connecter à ma base

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $db = mysql_connect('localhost','root','')
    or die('connexion impossible');
    // sélection de la base
    mysql_select_db('55379',$db);
     
    $ip=$_SERVER['REMOTE_ADDR'];

  7. #7
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Pourrais tu mettre le code php-sql de la connection + insertion des nouveaux éléments dans la bdd.

    Car selon ton erreur, on dirait que c'est même pas de cette table que vient le problème.

    Recherche la ligne qui parle de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    info_tbl(ip,name,time,date,description)

  8. #8
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 643
    Points : 94
    Points
    94
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <?
     
    // connexion à la base de données
    $db = mysql_connect('localhost','root','')
    or die('connexion impossible');
     
    // sélection de la base
    mysql_select_db('55379',$db);
     
    $ip=$_SERVER['REMOTE_ADDR']; //recuperation de l'ip
     
    // on écrit la requête sql
        $sql = "INSERT INTO info_tbl(ip,name,time,date,description) VALUES('$ip','me','22:25','25/02/2006','neon')";
     
        // on insère les informations du formulaire dans la table
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
     
    // fin de la connexion
    mysql_close();
    ?>
    cette fois j'ai le message suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Erreur SQL !INSERT INTO info_tbl(ip,name,time,date,description) VALUES('127.0.0.1','me','22:25','25/02/2006','neon')
    Duplicata du champ '127.0.0.1' pour la clef 1

  9. #9
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Bon et bien maintenant, comme le message d'erreur l'indique toujours, le champ 'ip' dans ta base de donnée est un champ qui se doit d'être unique (clé primaire par exemple), d'où l'erreur 'Duplicata du champ 127.0.0.1' ... Tu as essayé d'insérer plus qu'une fois des données avec ip = 127.0.0.1.
    Si c'est une table qui sert à faire des logs, tu pourrais rajouter un autre champ nommé 'id' qui serait simplement auto_increment et clé primaire. Enlève ensuite le champ 'ip' de cette clé primaire (ou s'il a l'attribut unique, enlève le).
    Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure

  10. #10
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 643
    Points : 94
    Points
    94
    Par défaut
    oui il y a aucun message d'erreur.
    je veut afficher le resultat maintenat mais sa ne marche pas exactement comme attendue.
    mon code pour afficher le contenue de la table est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $SQL = "SELECT ip FROM info_tbl" ;
                $result = mysql_query($SQL) or die('Erreur SQL : '.mysql_error());
                while ($val = mysql_fetch_array($result)){
                   echo "$val";
                }
    mais comme resultat j'ai la ligne suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray

  11. #11
    Membre chevronné Avatar de Nemesys
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 895
    Points : 2 100
    Points
    2 100

  12. #12
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Voilà comment faire pour traiter les données récupérer de la bdd
    Citation Envoyé par FAQ
    Traitement du résultat : Maintenant que nous avons le résultat de la requête, il faut encore le faire parler. Pour parcourir l'ensemble des enregistrements du résultat, on peut procéder de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while($ctItem = mysql_fetch_array($resultat)){
        //Ici la variable $ctItem contient un tableau de l'élément courant
    }
    Pour plus de clarté, on peut affecter des variables aux éléments du tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while($ctItem = mysql_fetch_array($resultat)){
        $nom = $ctItem[0];
        $prenom = $ctItem[1];
        echo = "Le prénom est $prenom et le nom $nom<br/>";
    }

  13. #13
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 643
    Points : 94
    Points
    94
    Par défaut
    mais pourquoi elle m'affiche la ligne plein de Array?
    mon code resemble à celui proposer par Kerod ,et sa me donne cette valleur ?

  14. #14
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tu trouves que ca ressemble ??? Pas moi...
    teste comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     while ($val = mysql_fetch_array($result)){
                   echo $val['ip'];
                }
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     while ($val = mysql_fetch_array($result)){
                   echo $val[0];
                }

Discussions similaires

  1. Réponses: 9
    Dernier message: 19/08/2010, 12h17
  2. [Conception]Nombre Maxi d'enregistrements dans une table
    Par del__k dans le forum Modélisation
    Réponses: 3
    Dernier message: 16/04/2007, 11h57
  3. [Conception] probleme de recherche dans une table
    Par H-bil dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 09/02/2007, 16h23
  4. [Conception] Modification d'enregistrement dans une table
    Par Volixium dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/09/2006, 12h48
  5. [interbase6]probleme d'insertion dans une table
    Par macadam314 dans le forum Bases de données
    Réponses: 10
    Dernier message: 22/02/2005, 14h21

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