Hallo zusammen,
vielleicht sehe ich wieder den Wald vor Bäumen nicht. Ich habe anhand von Beispielen und Tutorials im Intrenet folgendes zusammengebaut:
Wennich jetzt die Funktion navigation() aufrufe bekomme ich folgende Fehlermeldung:
call to a member function fetch() on a non-object
Kann mir jemand sagen warum? Gibt es eine andere Lösung?
Gruß René
vielleicht sehe ich wieder den Wald vor Bäumen nicht. Ich habe anhand von Beispielen und Tutorials im Intrenet folgendes zusammengebaut:
PHP Code:
class Core
{
public $dbh;
private static $instance;
private function __construct()
{
$dsn = 'mysql:host='. DB_SERVER .';dbname='. DB_NAME .';connect_timeout=15';
$user = DB_USER;
$password = DB_PASS;
try
{
$this->dbh = new PDO($dsn, $user, $password, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
}
catch(PDOException $e)
{
die("Verbindung fehlgeschlagen.");
}
}
public static function getInstance()
{
if (!isset(self::$instance))
{
$object = __CLASS__;
self::$instance = new $object;
}
return self::$instance;
}
}
class SQLmy
{
## Mehrere Datensätze holen
function fetch_all($sql)
{
$core = Core::getInstance();
$stmt = $core->dbh->query($sql);
$data = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$data[] = $row;
}
return $data;
}
## Einen Datensatz holen
function fetch_one($sql)
{
$core = Core::getInstance();
$stmt = $core->dbh->query($sql);
$row = $stmt->fetch(PDO::FETCH_ASSOC);
return $row;
}
## Anzahl der Datensätze
function count_row($sql) {
$core = Core::getInstance();
$stmt = $core->dbh->query($sql);
$row = $stmt->rowCount();
return $row;
}
## SQL nur ausführen
function execute_sql($sql) {
$core = Core::getInstance();
$stmt = $core->dbh->exec($sql);
return $stmt;
}
}
class Navi extends SQLmy
{
public function navigation()
{
$sql = "select bezeichnung, gruppen_id, nummer from dbo_gruppen where parent = 0 and gruppen_shop = 1 order by pos";
$res = $this->fetch_all($sql);
return $res;
}
}
call to a member function fetch() on a non-object
Kann mir jemand sagen warum? Gibt es eine andere Lösung?
Gruß René
Comment