phpbar.de logo

Mailinglisten-Archive

[php] WG: pear::db Umgang mit Fehlern

[php] WG: pear::db Umgang mit Fehlern

Martin Abraham php_(at)_phpcenter.de
Fri, 22 Feb 2002 18:40:03 +0100


Hi,

ich habe gerade Pear::DB installiert und hab ein bißchen getestet wie
Pear::DB mit Fehlern umgeht.

Code:
>>>
require_once 'DB.php';
$user = 'xxx';
$pass = 'xxxx';
$host = '192.168.0.99';
$db_name = 'mysql';
$dsn = "mysql://$user:$pass_(at)_$host/$db_name";
$db = DB::connect($dsn);
if (DB::isError($db)) {
        die ($db->getMessage());}
$sql = "select * from user";
$result = $db->query($sql);
if (DB::isError($result)) {
        die ($result->getMessage());}
while ($row = $result->fetchRow()) {
    echo $row[0];}
<<<

Setzte ich nun in die Variable $sql absichtlich falsche Sql-Syntax ein, oder
versuche ich auf eine nicht vorhandene Tabelle zuzugreifen, wird mir erstmal
kein Fehler ausgegeben, späteren Fehlermeldung:

Fatal error: Call to a member function on a non-object in ...

Ich dachte $db->getMessage() und $result->getMessage() sollen mir den Text
der Fehlermeldung ausgeben. Wie sollen die das denn, wenn die jeweilige
Instanz der Klasse zu diesem Zeitpunkt nicht mehr existiert?!?

Das Beispielscript habe ich von der Pear-Seite.

mfg

Martin Abraham


php::bar PHP Wiki   -   Listenarchive