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

Langage PHP Discussion :

Erreur avec la BD


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Erreur avec la BD
    Bonjour à tous.

    Je sais pas si c'est le bon endroit pour poster ça, je m'excuse d'avance si j'ai commis une erreur.

    Voici mon problème :
    J'ai une classe Bd.php qui contient toutes mes fonctions accédant directement à ma bdd, une classe ServiceBd.php accédant aux fonctions du fichier Bd.php, et mes fichiers accédant a ServiceBd.php.

    J'ai actuellement une petite erreur, et je ne vois pas comment la résoudre :

    Fatal error: Uncaught exception 'AccesTableException' in C:\wamp\www\PROJET\objet\bd\Bd.php:123
    Stack trace:
    #0 C:\wamp\www\PROJET\objet\metier\ServiceBd.php(70): Bd->getListeChoix('E094034L')
    #1 C:\wamp\www\PROJET\objet\profil.php(138): ServiceBd->getAllChoix('E094034L')
    #2 {main} thrown in C:\wamp\www\PROJET\objet\bd\Bd.php on line 123
    Voici les codes en question :

    Dans Bd.php:
    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
    public function getListeChoix($etu)
    	<?php
    {
    		$this->connexion();
    		$requete='SELECT id, idEcole from choix WHERE idEtu='.$etu.';';
    		try {
    			$resultat=$this->connexion->query($requete);
    		}
    		catch (PDOException $e) {
    			throw new AccesTableException();
    		}		
    		$this->deconnexion();
    		return $resultat; 
    	}
    ?>
    Dans ServiceBd.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    function getAllChoix($etu) {
     
    		$listeChoix=$this->bd->getListeChoix($etu);
    		foreach($listeChoix as $row) {
    			$choix = new Choix($row['id'],$row['idEcole'],$row['idEtu']);
    			$tableau[] = $choix;
    		}
    		return $tableau;
    	}
    ?>
    Dans Profil.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $choix = $servBd->getAllChoix($id);
     
    //$servBd est un objet de type ServiceBd
    ?>
    En espérant que vous pourriez m'aider, je suis bien évidemment à votre disposition pour toutes informations supplémentaires.

  2. #2
    Membre éclairé Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par défaut
    Bonjour,

    tu peux montrer la ligne 123 ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    La ligne 123 dans Bd.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php throw new AccesTableException(); ?>
    PS: la classe AccesTableException est une classe perso heritant de PDOException

  4. #4
    Membre éclairé Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete='SELECT id, idEcole from choix WHERE idEtu='.$etu.';';
    C'est normal le point virgule au bout de la requête ? '.$etu.';';

  5. #5
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Salut,

    Je pense que tu auras plus d'infos avec ce code :

    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
     
     
    public function getListeChoix($etu)
    	<?php
    {
    		$this->connexion();
    		$requete='SELECT id, idEcole from choix WHERE idEtu='.$etu.';';
    		try {
    			$resultat=$this->connexion->query($requete);
    		}
    		catch (PDOException $e) {
    			throw new AccesTableException($e->getMessage());
    		}		
    		$this->deconnexion();
    		return $resultat; 
    	}
    ?>

  6. #6
    Invité
    Invité(e)
    Par défaut
    @ s.n.a.f.u : Merci, maintenant, j'obtiens ceci :
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'E094034L' in 'where clause'' in C:\wamp\www\PROJET\objet\bd\Bd.php:120 Stack trace: #0 C:\wamp\www\PROJET\objet\bd\Bd.php(120): PDO->query('SELECT id, idEc...') #1 C:\wamp\www\PROJET\objet\metier\ServiceBd.php(70): Bd->getListeChoix('E094034L') #2 C:\wamp\www\PROJET\objet\profil.php(138): ServiceBd->getAllChoix('E094034L') #3 {main} thrown in C:\wamp\www\PROJET\objet\bd\Bd.php on line 120
    J'ai l'impression qu'il recherche une colonne 'E094034L' et qu'il ne la trouve pas, c'est bien ça ?
    Dans ce cas, il doit y avoir une erreur car 'E094034L' est la variable à mettre dans la colonne 'idEtu' non ?

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

Discussions similaires

  1. Erreur Avec Interbase
    Par smokemon dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/10/2004, 07h24
  2. Erreur avec procédure LockWorkStation ...
    Par simonseztech dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 15h33
  3. [Débutant][Conception] Erreur avec une classe interne
    Par Devil Redneck dans le forum Général Java
    Réponses: 5
    Dernier message: 11/06/2004, 15h45
  4. Erreur avec les ADO
    Par megane dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2004, 21h37
  5. Erreur avec WM_COMMAND (BN_CLICKED)
    Par cyberlewis dans le forum Windows
    Réponses: 2
    Dernier message: 09/02/2004, 00h25

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