Esempio n. 1
0
 public static function connect($credentials, $allow_missing_db = NULL)
 {
     if (self::$instance === NULL) {
         self::$instance = new Plusql();
     }
     if (!isset(self::$instance->credentials[$credentials])) {
         throw new InvalidCredentialsException('Unable to begin Plusql session with credentials named: ' . $credentials . ' (cos they don\'t exist)');
     }
     $host = self::$instance->credentials[$credentials][0];
     $user = self::$instance->credentials[$credentials][1];
     $password = self::$instance->credentials[$credentials][2];
     $dbname = self::$instance->credentials[$credentials][3];
     $key = implode('-', self::$instance->credentials[$credentials]);
     if (!isset(self::$instance->connections[$key])) {
         $conn = new PluSQL\Connection($host, $user, $password, $dbname);
         self::$instance->connections[$key] = $conn;
     } else {
         $conn = self::$instance->connections[$key];
     }
     try {
         $conn->connect();
     } catch (Exception $exc) {
         if ($allow_missing_db != self::ALLOW_MISSING_DB) {
             throw $exc;
         }
     }
     return $conn;
 }