Erreur lié a PDO

Call to undefined method PDOStatement::fetchObjet()

a marqué ce sujet comme résolu.
Auteur du sujet

BONjour a tous j’ai un gros soucis depuis hier avec mon code essentiellment ma requete que je n’arrive pas a executé… apres recherche je n’ai pu resourdre mon probleme j’espere trouver avec vous le repos :(! Voici l’erreur qui s’affiche a mon ecran : 'Call to undefined method PDOStatement::fetchObjet()' pourtant je l’ai definie.

<?php 
    namespace App\Manager;
    use PDO;
    Use App\Entity\vehicules;
    /**
     * 
     */
    class VehiculesManager
    {
        /**
         * undocumented class variable $pdo
         *objet pdo lie a la base de donné, comme la base de donné va etre implement ou *utilisé dans plusieur methode,
         *il est important de la stocker dans une variable d'objet
         * @var string
         **/
        private $pdo;
        private $dispo = 0;

        /**
         * undocumented class variable $pdoStatement
         *l'objet $pdoStatement resultant de l'utilisation des methodes PDO::query
         *et PDO::prepare.
         *
         *
         * @var string
         **/
        private $pdoStatement;
        /**
         * undocumented function
         *Initialisation de la connexion a la base de donné
         * @return void
         * @author 
         **/
        public function __construct()
        {
                $this->pdo = new PDO('mysql:host=localhost;dbname=db_location', 'root', '');    
        }

        /**
         * undocumented function create
         *elle insert un objet voiture dans la basse de donnée et met a jour l'objet passé en argument en lui specianf son identifiant
         * @return void bool "true si l'objet a été inserré false si une erreur survient
         * @author objet de type contate passé par reference &
         **/
        private function create (vehicules &$vehicules)
        {

            $this->pdoStatement=$this->pdo->prepare('INSERT INTO lo_vehicules VALUES(NULL,:TypeVoiture,:Matricule,:Marque,:Disponibilite,:Categorie)');
            //LIAISON DES PARAMETRES
            $this->pdoStatement->bindValue(':TypeVoiture',$vehicules->getTypeVoiture(), PDO::PARAM_STR);
            $this->pdoStatement->bindValue(':Matricule',$vehicules->getMatricule(), PDO::PARAM_STR);
            $this->pdoStatement->bindValue(':Marque',$vehicules->getMarque(), PDO::PARAM_STR);
            $this->pdoStatement->bindValue(':Disponibilite',$vehicules->getDisponibilite(), PDO::PARAM_STR);
            $this->pdoStatement->bindValue(':Categorie',$vehicules->getCategorie(), PDO::PARAM_STR);
            
            //executionde la requete qui ramene true si cela c'est bien 
            //passe et false si c'est le cas contaire
            $executeIsOk = $this->pdoStatement->execute();
            var_dump($executeIsOk);
            if ($executeIsOk) {
                return true;
            }
            else
            {
                $id = $this->pdo->lastInsertId();
                /* on fait la mise a jour pour reccuperer lid 
                c'est a dire on reccupere et stock l'id de la nouvelle entrée qu'on affecte a la variable vehicule pour la mettre a jour et que le cursseur passe a la ligne suivante*/
                $vehicules = $this->read($id);
            }
        }
        /**
         * undocumented function Read
         *Reccupere un objet vehicule a parti de son identifiant
         * @return bool\vehicule\null false si  une erreu survient, vehicule si une                   corresdance est trouvé et null s'il n'y a aucune correspondance
         * @author identifiant d'un vehicules
         **/
        public function read ($id)
        {
            $this->pdoStatement = $this->pdo->prepare('SELECT * FROM lo_vehicules WHERE id = :id');
            //liason des parametre
            $this->pdoStatement->bindValue(':id', $id, PDO::PARAM_INT);
             //execution de la requete
             $executeIsOk=$this->pdoStatement->execute();
            if ($executeIsOk) 
            {
                //reccuperation de notre resultat 
                //fetch objet permet d'afficher le resultat sous forme d'objet.
                $vehicules = $this->pdoStatement->fetchObjet('App\Entity\vehicules');
                if ($vehicules === false) 
                {
                    return null;
                }else{
                    return $vehicules;
                }
            }
            else
            {
                //erreur d'execution
            }
        }
        /**
         * undocumented function readAll
         * cette methode reccupere tous les objet vehicule de la base de données
         * @return bool tableau d'objet de type vehicule ou un tableau vide s'il y a aucun            objet de type vehicule dans la BDD ou false si une erreur survient
         * @author 
         **/
        public function readAll ()
        {
            
            $this->pdoStatement = $this->pdo->query('SELECT * FROM lo_vehicules ORDER BY Marque');
            //construction d'un tableau d'objet de type vehicules
            $lovehicules = [];
            
            while ($vehicules =$this->pdoStatement->fetchObjet('App\Entity\vehicules')) {
                $lovehicules[] = $vehicules;
            }
            /*$user = $pdo->query('SELECT * FROM users LIMIT 1')->fetchObject('User');*/
            return $lovehicules; 
        }
        /**
         * undocumented function update
         * cette methode met a jour un objet stocké en base de donné
         * @return bool donc true en cas de succes ou false ne d'erreur
         * @author un objet de type vehicules
         **/
        private function update (vehicules $vehicules)
        {
            $this->pdoStatement = $this->pdo->prepare('UPDATE lo_vehicules SET TypeVoiture=:TypeVoiture, Matricule=:Matricule, Marque=:Marque, Disponibilite=:Disponibilite, categorie=:categorie WHERE id=:id LIMIT 1');

            $this->pdoStatement->bindValue(':TypeVoiture',$vehicules->getTypeVoiture(), PDO::PARAM_STR);
            $this->pdoStatement->bindValue(':Matricule',$vehicules->getMatricule(), PDO::PARAM_STR);
            $this->pdoStatement->bindValue(':Marque',$vehicules->getMarque(), PDO::PARAM_STR);
            $this->pdoStatement->bindValue(':Disponibilite',$vehicules->getDisponibilite(), PDO::PARAM_STR);
            $this->pdoStatement->bindValue(':categorie',$vehicules->getCategorie(), PDO::PARAM_STR);
            $this->pdoStatement->bindValue(':id',$vehicules->getId(), PDO::PARAM_INT);

            //execution dde la requete

            $executeIsOk = $this->pdoStatement->execute();
            if ($executeIsOk) {
                return 'MODIFICATION EFFECTUE AVEC SUCCES';
            }
            else{
                
                echo "VEUILLER REPRENDRE LA MODIFIACATION :( "; /*c'est a dire on reccupere et stock l'id de la 
                                            nouvelle entrée qu'on affecte a la variable vehicule pour la mettre a jour et que le cursseur passe a la ligne suivante*/
            }

        }
        /**
         * undocumented function delete
         *cette methode permet de  suprimer un objet stocké en base de donné 
         * @return bool donc true en cas de succes ou false ne d'erreur
         * @author 
         **/
        public function delete (vehicules $vehicules)
        {
            $this->pdoStatement = $this->pdo->prepare('DELETE FROM lo_vehicules WHERE id=:id LIMIT 1');
            $this->pdoStatement->bindValue(':id',$vehicules->getId(), PDO::PARAM_INT);

            $executeIsOk = $this->pdoStatement->execute();
            if ($executeIsOk) {
                return 'SUPRESSION EFFECTUE AVEC SUCCES';
            }
            else{
                
                echo 'ERREUR DE SUPRESSION VOUS N\'ETES PAS AUTORISE A SUPRIMER CET OBJEt :(';  
            }
        }
        /**
         * undocumented function
         *
         * @return void
         * @author 
         **/
        public function save(vehicules &$vehicules)
        {
            if (is_null($vehicules->getId())) {

                return $this->create($vehicules);
            }
            else{
                return $this->update($vehicules);
            }
        }

    }

?>

Édité par KouassiOthnielKonan

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte