[PDO]①⑧--数据库操作类之构造函数

[PDO]①⑧--数据库操作类之构造函数_第1张图片
Paste_Image.png

PdoMYSQL.class.func

 DB_HOST,
                'username' => DB_USER,
                'password' => DB_PWD,
                'database' => DB_NAME,
                'hostport' => DB_PORT,
                'dsn' => DB_TYPE . ":host=" . DB_HOST . ";dbname=" . DB_NAME);
        }
        if (empty($dbConfig['hostname']))
            self::throw_exception('没有定义数据库配置,请先定义');
        self::$config = $dbConfig;
        if (empty(self::$config['params']))
            self::$config['params'] = array();
        if (!isset(self::$link)) {
            $configs = self::$config;
            if (self::$pconnect) {
                //开启长连接,添加到配置数组中
                $configs['params'][constant("PDO::ATTR_PERSISTENT")] = true;
            }
            try {
                self::$link = new PDO($configs['dsn'], $configs['username'], $configs['password'], $configs['params']);
            } catch (PDOException $e) {
                self::throw_exception($e->getMessage());
            }
            if (!self::$link) {
                self::throw_exception('PDO连接错误');
                return false;
            }
            self::$link->exec('SET NAMES ' . DB_CHARSET);
            self::$dbVersion = self::$link->getAttribute(constant("PDO::ATTR_SERVER_VERSION"));
            self::$connected = true;
            unset($configs);
        }
    }

    /**得到所有记录
     * @param null $sql
     * @return mixed
     */
    public static function getAll($sql = null)
    {
        if (!$sql) {
            self::query($sql);
        }
        $result = self::$PDOStatement->fetchAll(constant("PDO::FETCH_ASSOC"));
        return $result;
    }

    /**
     * 自定义错误处理
     * @param $errMsg
     */
    public static function throw_exception($errMsg)
    {
        echo '
' . $errMsg . '
'; } }

你可能感兴趣的:([PDO]①⑧--数据库操作类之构造函数)