function connectDb() { require_once 'DbSimple/Generic.php'; $config = array('scheme' => 'mysql', 'host' => $this->getConfig(self::HOST), 'user' => $this->getConfig(self::USER), 'pass' => $this->getConfig(self::PASS), 'path' => $this->getConfig(self::DB)); if ($port = $this->getConfig(self::PORT)) { $config['port'] = $port; } $err = array(); if (!strlen($config['host'])) { $err[] = "hostname"; } if (!strlen($config['path'])) { $err[] = "database name"; } if (!strlen($config['user'])) { $err[] = "username"; } if ($err) { throw new Am_Setup_Exception_Db("Please enter " . join(", ", $err)); } $this->db = new DbSimple_Mypdo($config); $this->db->setErrorHandler(array($this, 'dbErrorHandler')); $this->db->setIdentPrefix($this->getConfig(self::PREFIX)); return $this->db; }
/** * @return DbSimple_Mysql */ static function connect($config, $onlyConnect = false) { require_once 'DbSimple/Generic.php'; extract($config); $database = new DbSimple_Mypdo(array('scheme' => 'mysql', 'user' => @$user, 'pass' => @$pass, 'host' => @$host, 'path' => @$db, 'port' => @$port)); if (!$onlyConnect) { $database->setIdentPrefix(@$prefix); $database->setErrorHandler(array(__CLASS__, 'defaultDatabaseErrorHandler')); if ($database->_isConnected()) { $database->query("SET NAMES utf8"); $database->query("SET SESSION sql_mode=''"); } } return $database; }