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 :

Rentrer des données dans la base de donnée


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 44
    Points : 12
    Points
    12
    Par défaut Rentrer des données dans la base de donnée
    Bonjour
    Je suis en train d'écrire une fonction me permettant d'importer un fichier excel et de transmettre les données dans ma base de donnée mais j'ai l'erreur suivante :
    AAAAAAAAAAAErreur : SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
    Mon fichier excel, ma base de donnée et mon code sont en pièce jointe. Quelqu'un aurait-il une idée ? Je suis complètement perdu.
    Merci d'avance
    Images attachées Images attachées    

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    tu as mis = au lieu de ==
    mais surtout à quoi servent ces 3 conditions qui sont toujours vraies ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 44
    Points : 12
    Points
    12
    Par défaut
    J'ai remplacé avec les "==" mais cela ne fonctionne toujours pas. J'ai mis ces trois conditions car je voulais pouvoir rentrer les valeurs dans la base de données cellule par cellule et je ne savais pas comment faire autrement.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Regarde ton code, tu vois bien que tes conditions ne modifie jamais le déroulement du script, et donc ne servent à rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach ($sheet->getRowIterator() as $row) {
    		$nrow = $row->getRowIndex();
     
    		$INE = $worksheet->getCellByColumnAndRow(0, $nrow)->getValue();
    		$classe = $worksheet->getCellByColumnAndRow(1, $nrow)->getValue();
    		$prenom = $worksheet->getCellByColumnAndRow(2, $nrow)->getValue();
     
                    $query->execute(array(':INE'=>$INE, ':classe'=>$classe, ':prenom'=>$prenom));
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 44
    Points : 12
    Points
    12
    Par défaut
    Ah merci, du coup mon code est plus court c'est mieux. Mais maintenant j'ai deux nouvelles erreurs :
    "Notice: Undefined variable: worksheet in C:\wamp\www\workspace\admin.php on line 316"
    et :
    " Fatal error: Call to a member function getCellByColumnAndRow() on a non-object in C:\wamp\www\workspace\admin.php on line 316".
    Du coup que puis je faire pour les résoudre ?
    PS: je ne gère pas encore le forum, veuillez excuser ma présentation

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    J'ai mis $worksheet au lieu de $sheet
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 44
    Points : 12
    Points
    12
    Par défaut
    Ah d'accord mais maintenant j'ai l'erreur suivante :
    Erreur : SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`website`.`eleve`, CONSTRAINT `ELEVE_ibfk_1` FOREIGN KEY (`libClasse`) REFERENCES `classe` (`libClasse`) ON DELETE CASCADE)
    Qu'est ce que cela signifie ?

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le "libClasse" doit d'abord être inseré dans la table "Classe".
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 44
    Points : 12
    Points
    12
    Par défaut
    D'accord merci, et pour ça je crée donc une nouvelle requête ? Ou je peux le faire dans la dernière requête ?

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est une autre requête.
    Dans une logique relationnelle, dans la table "Eleve" il ne devrait pas y avoir le libellé mais l'id de la classe.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 44
    Points : 12
    Points
    12
    Par défaut
    D'accord merci.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/02/2015, 15h48
  2. Réponses: 1
    Dernier message: 26/06/2013, 17h21
  3. [MySQL] Rentrer des choses dans une base de données garce à un post
    Par BernardT dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/03/2006, 21h07
  4. Taille des vues dans la base de donnée
    Par Andry dans le forum Débuter
    Réponses: 5
    Dernier message: 21/01/2005, 21h06
  5. inserer des images dans une base de données
    Par alilou04 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/06/2004, 18h54

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