php PDO php类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php PDO php类相关的知识,希望对你有一定的参考价值。

<?php
class Database {
	private $host = DB_HOST;
	private $user = DB_USER;
	private $pass = DB_PASS;
	private $dbname = DB_NAME;
	
	private $dbh;
	private $error;
	private $stmt;
	
	public function __construct() {
		// Set DSN
		$dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname;
		// Set options
		$options = array (
				PDO::ATTR_PERSISTENT => false,
				PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION 
		);
		// 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_OBJ);
	}
	
	
	public function single(){
		$this->execute();
		return $this->stmt->fetch(PDO::FETCH_OBJ);
	}
	
	
	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();
	}
}

以上是关于php PDO php类的主要内容,如果未能解决你的问题,请参考以下文章

PHP PDO类

未找到 ZF2 类 PDO,但在 php 配置中启用了 PDO

PHP的PDO

PDO

PHP,PDO,表单,更新用户类不按预期工作

PHP PDO_MYSQL 链式操作 非链式操作类