PHP PEAR Database funktions

Scalé

Erfahrenes Mitglied
Hi

hab ein kleines Problem mit PEAR.
Hoffe hier hat schon jemand PEAR benutzt und kann mir vieleicht helfen :)

Der Fehler:
Fatal error: Call to undefined function: getlistof() in /home/pl/html/PEAR/index.dhtml on line 18

Der Code:

PHP:
<?php

require_once("PEAR.php");
require_once("DB.php");

$dsn = "mysql://root:pw@linuxsv01/phptribblesneu";
$db = DB::connect($dsn);

$sql = "describe users";
$result = $db->query($sql);
while ($row = $result->fetchRow())
{  
 echo $row[0] . "-" . $row[1] . "-" . $row[2] . "<br>";
}

echo "<hr><bR>";

$db->getListOf("databases");            // Das hier ist Line 18

?>
Hoffe mir kann jemand weiterhelfen.
Laut PEAR doku gibt es die funktion "getListOf()".
[LINK]

gruß
Patrick
 
- Mmm, bist du sicher, dass du die gleiche PEAR Version nutzt ?

- Also mit PEAR an sich habe ich ja noch nicht gearbeitet, aber mit anderen Klassen und folgende Zeile

$db = DB::connect($dsn);

kommt mir irgendwie spanisch vor. $db soll doch dein Objekt sein. Muss da nicht irgendwo ein new hin ? War das mit dem <klasse>::<methode> nicht so, dass du damit halt auf eine beliebige Methode in einer Klasse zugreifen kannst, ohne ein neues Objekt dieser Klasse zu erstellen ?

Kann auch sein, dass ich mich täusche und das bei PEAR u.ä. evtl. etwas anders läuft, aber wäre nett, wenn sich dazu mal wer äussern würde.
 
In Java müsstest du noch ein "new" einfügen,
aber da PHP eigentlich keine Objektorientierte Sprache
ist wird das auch nicht so genau genommen wie in Java.
Klassenprogrammierung in PHP ist ein wenig anspruchsloser :)

Ach ja, ich hab den Fehler gefunden.
Es war nur so das die PEAR libs veraltet waren auf unsrem server.
*andenkopfklatsch*
Kurz aktualisiert und jetzt gehts :)
 
mmm
a) ich verwende trotzdem new

b) Aber mit DB:connect() würdest du doch auf die connect Methode der DB Klasse zugreifen oder nicht ? Warum resultiert daraus, dass $db ein Objekt ist. Kapier ich nicht so ganz.
 
Du kannst new benutzen,
was daran liegt das OO-Programmierung in PHP nur gefaket wird.
PHP tut praktisch nur so, ist aber garnicht objektorientiert.

Die funktion connect() gibt ein Objekt zurück,
folglich wird die variable in die ich diesen Connect speichere
zum Objekt :)
 
Zurück