Fatal error: Call to a member function query() on null

fidsurafidson Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, j'ai créée un site en php POO et j'ai eu cet erreur:

Fatal error: Call to a member function query() on null in C:\UwAmp\www\resto\resto\NavigateurDAO.php on line 31

et voici mon code

require_once('connexion.php');
require('Navigateur.php');

class NavigateurDAO {
    //put your code here
    private $connex;
    
    function _construct(){
        $database = new connexion();
        $db = $database->dbConnection();
        $this->connex = $db;
    }
    
     public function getNavigateur() {
        try {
            $navigateur = array();
            $result = $this->connex->query("select * from navigateur");
            while ($donnees = $result->fetch()) {
                $navigateur[] = new Navigateur($donnees);
            }
            return $navigateur;
        } 
        catch (Exception $e) {
        }
    }   
}
?>


EDIT : Ajout du LANGAGE dans les balises de code (pour avoir la couleur...)

merci de votre aide
A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Je suppose que connexion est une class contenant la connexion à ta bdd ?

Dans ce cas.. fais donc un EXTEND

class NavigateurDAO extends connexion{
    //put your code here
    private $connex;
    
    function _construct(){
        parent::__construct();
        $db = parent::dbConnection();
		if($db){
          $this->connex = $db;
		}else{
			echo "La variable connex est vide ou inexistante ! Verifiez la connexion à la bdd !";
			exit();
		}
    }
    
	 /**
	 * retourne la liste des navigateurs.
	 */
     public function getNavigateur() {
        try {
            $navigateur = array();
              $result = $this->connex->query("select * from navigateur");
              while ($donnees = $result->fetch()) {
                 $navigateur[] = new Navigateur($donnees);
              }
             return $navigateur;
			
        } catch (Exception $e) {
			echo 'error ! '.$e->getMessage();
        }
    }   
}


Au passage .. si ce n'est pas déjà fait ... active la gestion des erreurs PDO dans ta connexion.
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

.
0
fidsurafidson Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de votre réponse mais rien ne change! la gestion des erreurs PDO est déja faite. d'autres solutions?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > fidsurafidson Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Et suite aux modifs que je t'ai proposé... tu as toujours le même message d'erreur ???
0