Zaczynam zabawę z obiektowym PHP i nadziałem się na pierwszy problem, z którym nie mogę sobie poradzić (google też nie pomogło ani przeszukanie forum). Otóż na mojej stronie mam załadowaną główną klasę, która łączy się z bazą danych:
class Retail_Core { public $Template, $Auth, $Database; function __construct() { try { $this->Database = new PDO('mysql:host=localhost;dbname=retail;charset=utf8', 'root', ''); $this->Database->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); include(APP_PATH . "model/template.php"); $this->Template = new Template(); include(APP_PATH . "model/auth.php"); $this->Auth = new Auth(); } catch(PDOException $exception) { } } }
Następnie tworzony jest obiekt
$Retail = new Retail_Core();
a zaraz po nim mam zaincludowaną drugą klasę, która ma za zadanie wyciągnięcie informacji z bazy danych:
class EducationTiles { function getTileTitle($round, $modal) { try { $stmt = $this->Retail->Database->prepare('SELECT title FROM education WHERE name=:name AND modal=:modal'); $stmt->bindValue(':name', $round, PDO::PARAM_INT); $stmt->bindValue(':modal', $modal, PDO::PARAM_INT); $stmt->execute(); return $stmt->fetch(PDO::FETCH_ASSOC); $stmt->closeCursor(); } catch(PDOException $exception) { } } }
Niestety w linii gdzie przygotowywane jest zapytanie (linia nr 7) dostaję błędy:
Notice: Undefined property: EducationTiles::$Retail
Notice: Trying to get property of non-object
Fatal error: Call to a member function prepare() on null
Będę wdzięczny za podpowiedź jak to poprawnie wykonać by śmigało
