Mailinglisten-Archive |
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