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 :

pb enrgistrements successifs bdd [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut pb enrgistrements successifs bdd
    Re-bonjour,

    Lorsque je parcours un tableau afin d'enregistrer les éléments dans ma bdd, il n'y a que le dernier enregistrement qui ne se retrouve dans ma bdd. Je ne m'en sors pas.

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    foreach($tabImg as $value)
     {
      $requete="insert into photos (cle, photo, commentaire, date) values ('', '$value', '', '$date')"; 
     
      if(!mysql_query($requete, $connect))
        echo "pas inscrit";
      }
    Peut-on m'aider?

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Es-tu sûr du contenu de ton tableau ? Fais un print_r( )
    As-tu un erreur SQL ? Teste avec mysql_error( ).


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete="insert into photos (cle, photo, commentaire, date) values ('', '$value', '', '$date')";



    Attend-toi à une jolie erreur qd tu passeras sous MySQL 5
    Si cle est auto-incrémentée, fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO photos(photo, commentaire, date)
    VALUES('$value', '', '$date')
    Si tu tiens absolument à préciser le champ cle dans le INSERT alors donne-lui la valeur NULL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO photos(cle, photo, commentaire, date)
    VALUES(NULL, '$value', '', '$date')

  3. #3
    Membre chevronné Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Par défaut
    ce serait pas un mulitpost ça??

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Je suis sûr du contenu de mon tableau car j'avais vérifié avec un foreach echo. Je viens de tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete="INSERT INTO photos(photo, commentaire, date) VALUES('$value', '', '$date')";
    mais ça ne fonctionne pas non plus.

  5. #5
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par dubitoph
    Je suis sûr du contenu de mon tableau car j'avais vérifié avec un foreach echo. Je viens de tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete="INSERT INTO photos(photo, commentaire, date) VALUES('$value', '', '$date')";
    mais ça ne fonctionne pas non plus.
    C'était pas censé résoudre ton problème immédiat

    Procède à un déboguage classique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    foreach($tabImg as $value) {
      $requete="insert into photos (cle, photo, commentaire, date) values ('', '$value', '', '$date')";
      echo $requete, '<br>' ;
      if(!mysql_query($requete, $connect))
        echo "ko, ", mysql_error( ) ;
      } else {
        echo 'ok' ;
      }
      echo '<p>' ;
    }

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Je viens d'effectuer la manoeuvre, et le message est le suivant : "ko, Duplicata du champ pour la clef 2". Je suppose que la clé ne s'incrémente donc pas à chaque passage.

  7. #7
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Et en faisant ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete="insert into photos (photo, commentaire, date) values ('$value', '', '$date')";

  8. #8
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    C'est ok pour le 1er passage, mais ensuite, pour les autres c'est toujours le même message : "ko, Duplicata du champ '' pour la clef 2"

  9. #9
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Quelle est la structure de ta table ?

  10. #10
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    clé, nom, photo, commentaire, date J'avais oulié mon champ nom, mais même en rectifiant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete="insert into photos (cle, nom, photo, commentaire, date) values ('', '','$value', '', '$date')";
    , j'obtiens toujours la même erreur.

  11. #11
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Donne-nous plus de détails sur la structure : clef primaire, auto-incrément, null autorisé, valeur par défaut, flag unique, etc.

  12. #12
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Champ Type Null Défaut
    cle int(11) Non
    nom varchar(40) Non unique
    photo varchar(50) Non
    commentaire varchar(150) Non
    date date Non 0000-00-00

  13. #13
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    désolé pour l'affichage, j'ais fais un essai qui n'a pas fonctionné.

  14. #14
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Le champ nom est UNIQUE, tu veux pe soumettre des photos qui ont le même nom.
    N'as-tu pas de clef primaire ?
    cle n'est pas en AUTO_INCREMENT ? N'est pas en UNIQUE ?

  15. #15
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    C'est OK,

    Le champ nom était en "unique", et donc même vide il ne pouvait se répéter encore vide. J'avais laissé vide dans mon insert pour les essais sans réfléchir aux conséquences dans ma base. Autant pour moi et merci pour ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Debutant] lire fichier text et enrgistrer dans BDD
    Par 3wicha dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/03/2008, 22h49
  2. portabilité et BDD
    Par delire8 dans le forum C++Builder
    Réponses: 7
    Dernier message: 04/07/2002, 10h59
  3. connection a une BDD MySql
    Par delire8 dans le forum MFC
    Réponses: 7
    Dernier message: 19/06/2002, 18h18
  4. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26
  5. Probleme de filtre dans bdd
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/06/2002, 10h43

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