Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fatal error: Cannot access empty property [closed]

Tags:

php

pdo

i have got that error and the line was this :

   $stations=$this->$db->query('SELECT * from service_stations');

the $db variable is declared private and i use it in the __construct function like this:

public function __construct() {
                    //after including the config file
                $host=DB_HOST;
            $dbname=DB_NAME;
            $dbuser=DB_USER;
            $dbpsw=DB_PASSWORD;
         try{
            $pdo_options[PDO::ATTR_ERRMODE]=PDO::ERRMODE_EXCEPTION;
            $this->db=new PDO('mysql:host='.$host.';dbname='.$dbname, $dbuser, $dbpsw, $pdo_options);
            }
         catch(Exception $e)
            {
            die('Erreur: '.$e->getMessage());
            }
    }

thx in advance :)

like image 254
Malloc Avatar asked Apr 24 '11 19:04

Malloc


2 Answers

You have probably made a typo:

$stations=$this->db->query('SELECT * from service_stations');
//               ^
// No $ here ----/
like image 119
Jon Avatar answered Sep 17 '22 21:09

Jon


You probably meant to write $this->db instead of $this->$db. The former accesses the property db, the latter access the property, those name is stored in the $db variable. And as this variable is not defined, you end up accessing an empty property, as the error message indicates.

like image 33
NikiC Avatar answered Sep 20 '22 21:09

NikiC