dongzhi5587 2014-12-11 10:16
浏览 28

php类调用数据库连接类

I am a beginner in PHP, i would like to use dbconnect query() method to Get User detail. Anyone can help me?

//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条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 基于卷积神经网络的声纹识别
    • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
    • ¥100 为什么这个恒流源电路不能恒流?
    • ¥15 有偿求跨组件数据流路径图
    • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
    • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
    • ¥15 CSAPPattacklab
    • ¥15 一直显示正在等待HID—ISP
    • ¥15 Python turtle 画图
    • ¥15 stm32开发clion时遇到的编译问题