1、创建一个数据库类型:ConnDB
该类应包括$dbms(数据库类型)、$dbName(使用的数据库名称)、$user(使用的数据库用户名)、$pwd(使用的数据库密码)、$host(使用的主机名称)
$dsn(数据源名)。
$dsn="$dbms:host=$host;dbname=$dbName";
//Pdo实例化对象
$pdo=new PDO($dsn,$user,$pwd);
则该类的代码如下:
//数据库连接类
class ConnDB{
var $dbtype;
var $host;
var $user;
var $pwd;
var $dbname;
//构造方法
function ConnDB($dbtype,$host,$user,$pwd,$dbname){
$this->dbtype=$dbtype;
$this->host=$host;
$this->user=$user;
$this->pwd=$pwd;
$this->dbname=$dbname;
}
//实现数据库的连接并返回连接对象
function GetConnId(){
if($this->dbtype=="mysql" || $this->dbtype=="mssql"){
$dsn="$this->dbtype:host=$this->host;dbname=$this->dbname";
}else{
$dsn="$this->dbtype:dbname=$this->dbname";
}
try {
$conn = new PDO($dsn, $this->user, $this->pwd); //初始化一个PDO对象,就是创建了数据库连接对象$pdo
$conn->query("set names utf8");
return $conn;
} catch (PDOException $e) {
die ("Error!: " . $e->getMessage() . "<br/>");
}
}
}
2、执行查询数据库的操作,得到结果集
//数据库管理类
class AdminDB{
function ExecSQL($sqlstr,$conn){
$sqltype=strtolower(substr(trim($sqlstr),0,6));
$rs=$conn->prepare($sqlstr); //准备查询语句
$rs->execute(); //执行查询语句,并返回结果集
if($sqltype=="select"){
$array=$rs->fetchAll(PDO::FETCH_ASSOC); //获取结果集中的所有数据
if(count($array)==0 || $rs==false)
return false;
else
return $array;
}elseif ($sqltype=="update" || $sqltype=="insert" || $sqltype=="delete"){
if($rs)
return true;
else
return false;
}
}
}
这里需注意的是:所提供的代码针对的是mmsql和mysql,其他类型要对数据库类型作些调整。