php类调用数据库连接类

时间:2014-12-11 10:16:26

标签: php mysql pdo

我是PHP的初学者,我想使用dbconnect query()方法获取用户详细信息。有人可以帮帮我吗?

//class.Getuser.php

<?php
    class GetUser { 

        public function viewall() {

            $this->$query('SELECT * FROM user_info');
            $rows = resultset();

            foreach ($rows as $row) {
            print $row["user_name_en"] . "-" . $row["user_name_cn"] ."<br/>";
            }
    }
    }

?>

//class.dbconnect.php

<?php

    define("DB_HOST", "");
    define("DB_USER", "");
    define("DB_PASS", "");
    define("DB_NAME", "");

    class dbConnect {

        private $host = DB_HOST;
        private $user = DB_USER;
        private $pass = DB_PASS;
        private $dbname = DB_NAME;

        private $dbh;
    private $error;
        private $stmt;

        var $rows = array();
        public function __construct(){
            // Set DSN
            $dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname;
            // Set options
            $options = array(
                    PDO::ATTR_PERSISTENT    => true,
                    PDO::ATTR_ERRMODE       => PDO::ERRMODE_EXCEPTION,
                    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
            );
            // Create a new PDO instanace
            try{
                    $this->dbh = new PDO($dsn, $this->user, $this->pass, $options);
            }
            // Catch any errors
            catch(PDOException $e){
                    $this->error = $e->getMessage();
            }
        }


        public function query($query){
        $this->stmt = $this->dbh->prepare($query);
        }

        public function bind($param, $value, $type = null){
    if (is_null($type)) {
        switch (true) {
            case is_int($value):
                $type = PDO::PARAM_INT;
                break;
            case is_bool($value):
                $type = PDO::PARAM_BOOL;
                break;
            case is_null($value):
                $type = PDO::PARAM_NULL;
                break;
            default:
                $type = PDO::PARAM_STR;
        }
    }
    $this->stmt->bindValue($param, $value, $type);
    }

    public function execute(){
        return $this->stmt->execute();
    }

    public function resultset(){

        $this->execute();
        return $this->stmt->fetchAll(PDO::FETCH_ASSOC);

    }

    public function single(){
    $this->execute();
    return $this->stmt->fetch(PDO::FETCH_ASSOC);
    }

    public function rowCount(){
    return $this->stmt->rowCount();
    }

    public function lastInsertId(){
    return $this->dbh->lastInsertId();
    }

    public function beginTransaction(){
    return $this->dbh->beginTransaction();
    }

    public function endTransaction(){
    return $this->dbh->commit();
    }

    public function cancelTransaction(){
    return $this->dbh->rollBack();
    }

    public function debugDumpParams(){
    return $this->stmt->debugDumpParams();
    }
};

?>

0 个答案:

没有答案