From c63410f6bed7b2bf0536722ccfbe9b90cbb6ed82 Mon Sep 17 00:00:00 2001 From: Stig Bakken Date: Wed, 26 Jul 2000 09:57:06 +0000 Subject: [PATCH] Multiple DB::connect or DB::factory calls using the same backend should work now. --- pear/DB.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pear/DB.php b/pear/DB.php index 5a70356fd1d..97e0f7077a0 100644 --- a/pear/DB.php +++ b/pear/DB.php @@ -163,11 +163,12 @@ class DB { * error */ function &factory($type) { - if (!@include_once("DB/${type}.php")) { - return DB_ERROR_NOT_FOUND; - } + @include_once("DB/${type}.php"); $classname = 'DB_' . $type; - $obj = new $classname; + $obj = @new $classname; + if (!$obj) { + return new DB_Error(DB_ERROR_NOT_FOUND); + } return $obj; } @@ -192,11 +193,12 @@ class DB { $dsninfo = DB::parseDSN($dsn); $type = $dsninfo['phptype']; - if (!@include_once("DB/${type}.php")) { - return DB_ERROR_NOT_FOUND; - } + @include_once("DB/${type}.php"); $classname = 'DB_' . $type; - $obj = new $classname; + $obj = @new $classname; + if (!$obj) { + return new DB_Error(DB_ERROR_NOT_FOUND); + } $err = $obj->connect(&$dsninfo, $persistent); if (DB::isError($err)) { return $err;