Hallo,
ich habe mir eine Klasse geschrieben welche in einer anderen Klasse nutzen möchte.
meine PDO Datenbank Klasse trägt den Namen "dbh"
Meine nächste Klasse "Page" soll anhand der URL Parameter in der Datenbank nach der entsprechenden Seite suchen und solche Dinge wie den Pfad der zu verwendenden Module ausspucken.
Die PDO Klasse funktioniert, ich hab sie schon getestet und ergebnisse bekommen.
Ich versuche jetzt die "dbh" Klasse über die function __cunstructor einzubinden und weise ihr die Variable "$this->dbh" bzw "$dbh" zu.
Wenn ich versuche meine Klasse "Page" aufzurufen, bekomme ich die Meldung das die Variable $dbh nicht definiert ist.
Hier die Page-Klasse:
Folgende Fehlemerldung:
Jemand Lösungsvorschläge für mich?
EDIT:
Habe den Fehler gefunden. Anstatt $dbh anzusprechen muss ich natürlich $this->dbh verwenden.
Thread kann geschlossen werden
ich habe mir eine Klasse geschrieben welche in einer anderen Klasse nutzen möchte.
meine PDO Datenbank Klasse trägt den Namen "dbh"
Meine nächste Klasse "Page" soll anhand der URL Parameter in der Datenbank nach der entsprechenden Seite suchen und solche Dinge wie den Pfad der zu verwendenden Module ausspucken.
Die PDO Klasse funktioniert, ich hab sie schon getestet und ergebnisse bekommen.
Ich versuche jetzt die "dbh" Klasse über die function __cunstructor einzubinden und weise ihr die Variable "$this->dbh" bzw "$dbh" zu.
Wenn ich versuche meine Klasse "Page" aufzurufen, bekomme ich die Meldung das die Variable $dbh nicht definiert ist.
Hier die Page-Klasse:
PHP-Code:
class Page {
public $page;
private $action;
private $module;
private $dbh;
function __construct($dbh) {
$this->dbh = $dbh;
$this->page = isset($_POST['page']) ? $_GET['page'] : null;
$this->action = isset($_POST['action']) ? $_GET['action'] : null;
$this->module = isset($_POST['module']) ? $_GET['module'] : null;
}
function readPage() {
// Das hier ist Line 36
$dbh->query("SELECT * FROM page WHERE page_name=:page_name");
$dbh->bind(':page_name', $this->page);
$row = $dbh->single();
echo $row['page_name'];
}
function readModule() {
}
function readAction() {
}
}
$Page = new Page($dbh);
Code:
Notice: Undefined variable: dbh in C:\xampp\htdocs\testimonia\kernel\page.kernel.php on line 36
Code:
Fatal error: Call to a member function query() on a non-object in C:\xampp\htdocs\testimonia\kernel\page.kernel.php on line 36
EDIT:
Habe den Fehler gefunden. Anstatt $dbh anzusprechen muss ich natürlich $this->dbh verwenden.
Thread kann geschlossen werden
Kommentar