Files
xinhu/include/class/pdoClass.php
2023-12-21 21:15:19 +08:00

67 lines
1.4 KiB
PHP

<?php
include_once('mysql.php');
class pdoClass extends mysql{
protected function connect()
{
$this->errormsg = '';
if(!class_exists('PDO'))exit('操作数据库的php的扩展PDO不存在');
try {
$this->conn = @new PDO('mysql:host='.$this->db_host.';dbname='.$this->db_base.'', $this->db_user, $this->db_pass);
$this->conn->query("SET NAMES 'utf8'");
$this->selectdb($this->db_base);
} catch (PDOException $e) {
$this->conn = null;
$this->errormsg = $e->getMessage();
}
}
protected function querysql($sql)
{
try {
$bo = $this->conn->query($sql);
} catch (PDOException $e) {
$bo = false;
$this->errormsg = $e->getMessage();
}
return $bo;
}
public function fetch_array($result, $type = 0)
{
$result_type = ($type==0)? PDO::FETCH_ASSOC : PDO::FETCH_NUM;
return $result->fetch($result_type);
}
public function insert_id()
{
return $this->conn->lastInsertId();
}
protected function starttran()
{
$this->conn->beginTransaction();
}
protected function endtran($bo)
{
if(!$bo){
$this->conn->rollBack();
}else{
$this->conn->commit();
}
}
public function error()
{
$str = $this->conn->errorInfo();
return 'pdoError('.$str[0].'):'.$str[2].''.$this->errormsg.'';
}
public function close()
{
if($this->conn==null)return;
return $this->conn=null;
}
}