<?php
header('content-type:text/html;charset=utf-8');
/**
* 定义工厂类
* @param string
* @return object
*/
class Factory{
public static function create($type){
$class=$type.'DB';
return new $class;
}
}
/**
* 定义接口
*/
interface DB{
public function connect(); //链接数据库
public function exec($sql); //写执行
public function query($sql); //读执行
public function insert($table,$data); //增
public function select($table,$where); //查
public function delete($table,$where); //删
public function update($table,$data,$where);//改
}
/**
* 定义子类 MysqlDB
*/
class MysqlDB implements DB{
public $dsn;
public function __construct(){
$this->dsn="mysql:host=localhost;dbname=study10";
}
/**
* 链接数据库
* @return obj
*/
public function connect(){
$pdo=new PDO($this->dsn,'root','root');
return $pdo;
}
/**
* PDO写执行
* @param
* @return bool
*/
public function exec($sql){
return $this->connect()->exec($sql);
}
/**
* PDO读执行
* @param $sql
* @return array
*/
public function query($sql){
return $this->connect()->query($sql)->fetchAll(PDO::FETCH_ASSOC);
}
/**
* Mysql添加数据
* @param string
* @param string
* @return bool
*/
public function insert($table,$data){
$sql="insert into $table(uname,pwd) values($data)";
return $this->exec($sql);
}
/**
* Mysql查询数据
* @param string
* @param string $where
* @return array
*/
public function select($table,$where=''){
$sql="select * from $table $where";
return $this->query($sql);
}
/**
* Mysql删除数据
* @param string
* @param string $where ]
* @return int 修改的条数
*/
public function delete($table,$where){
$sql="delete from $table where $where";
return $this->exec($sql);
}
/**
* Mysql修改数据
* @param string
* @param string $where
* @return
*/
public function update($table,$data,$where){
$sql="update $table set $data where $where";
return $this->exec($sql);
}
}
/**
* 定义sqlserver 子类
* 注意mysqli_connect_error()新特性
*/
class SQLserverDB implements DB{
public $mysqli; //定义全局变量
public function __construct(){
$this->mysqli = new mysqli('localhost','root','root','study10');
if (mysqli_connect_errno()){
die('Unable to connect!'). mysqli_connect_error();
}
}
public function connect(){
}
public function exec($sql){
}
public function query($sql){
return $this->mysqli->query($sql);
}
public function insert($table,$data){
$sql="insert into $table(uname,pwd) values($data)";
$this->query($sql);
}
/**
* Sqlserver 的查询数据
* @param string
* @param string
* @return array
*/
public function select($table,$where=1){
$sql="select * from $table where $where";
$res=array();
$result=$this->query($sql);
while ($a=mysqli_fetch_assoc($result)) {
$res[]=$a;
}
return $res;
}
public function delete($table,$where){}
public function update($table,$data,$where){}
}
/**
* 定义 acces 子类
*/
// class AccesDB implements DB{
// public function connect(){}
// public function exec($sql){}
// public function query($sql){}
// public function insert($table,$data){}
// public function select($table,$where){}
// public function delete($table,$where){}
// public function update($table,$data,$where){}
// }
/*****************Mysql数据库*********************************************/
// $db=Factory::create('Mysql');
// $a=$db->insert('admin',"'zhangsan','123'");
// $b=$db->select('admin');
// $b=$db->delete('admin',"id='1'");
// $b=$db->update('admin',"uname='lisi'","id='2'");
//
//print_r($b);
/****************Sqlserver数据库*******************************************/
$db=Factory::create('SQLserver');
$a=$db->select('admin');
print_r($a);
?>
header('content-type:text/html;charset=utf-8');
/**
* 定义工厂类
* @param string
* @return object
*/
class Factory{
public static function create($type){
$class=$type.'DB';
return new $class;
}
}
/**
* 定义接口
*/
interface DB{
public function connect(); //链接数据库
public function exec($sql); //写执行
public function query($sql); //读执行
public function insert($table,$data); //增
public function select($table,$where); //查
public function delete($table,$where); //删
public function update($table,$data,$where);//改
}
/**
* 定义子类 MysqlDB
*/
class MysqlDB implements DB{
public $dsn;
public function __construct(){
$this->dsn="mysql:host=localhost;dbname=study10";
}
/**
* 链接数据库
* @return obj
*/
public function connect(){
$pdo=new PDO($this->dsn,'root','root');
return $pdo;
}
/**
* PDO写执行
* @param
* @return bool
*/
public function exec($sql){
return $this->connect()->exec($sql);
}
/**
* PDO读执行
* @param $sql
* @return array
*/
public function query($sql){
return $this->connect()->query($sql)->fetchAll(PDO::FETCH_ASSOC);
}
/**
* Mysql添加数据
* @param string
* @param string
* @return bool
*/
public function insert($table,$data){
$sql="insert into $table(uname,pwd) values($data)";
return $this->exec($sql);
}
/**
* Mysql查询数据
* @param string
* @param string $where
* @return array
*/
public function select($table,$where=''){
$sql="select * from $table $where";
return $this->query($sql);
}
/**
* Mysql删除数据
* @param string
* @param string $where ]
* @return int 修改的条数
*/
public function delete($table,$where){
$sql="delete from $table where $where";
return $this->exec($sql);
}
/**
* Mysql修改数据
* @param string
* @param string $where
* @return
*/
public function update($table,$data,$where){
$sql="update $table set $data where $where";
return $this->exec($sql);
}
}
/**
* 定义sqlserver 子类
* 注意mysqli_connect_error()新特性
*/
class SQLserverDB implements DB{
public $mysqli; //定义全局变量
public function __construct(){
$this->mysqli = new mysqli('localhost','root','root','study10');
if (mysqli_connect_errno()){
die('Unable to connect!'). mysqli_connect_error();
}
}
public function connect(){
}
public function exec($sql){
}
public function query($sql){
return $this->mysqli->query($sql);
}
public function insert($table,$data){
$sql="insert into $table(uname,pwd) values($data)";
$this->query($sql);
}
/**
* Sqlserver 的查询数据
* @param string
* @param string
* @return array
*/
public function select($table,$where=1){
$sql="select * from $table where $where";
$res=array();
$result=$this->query($sql);
while ($a=mysqli_fetch_assoc($result)) {
$res[]=$a;
}
return $res;
}
public function delete($table,$where){}
public function update($table,$data,$where){}
}
/**
* 定义 acces 子类
*/
// class AccesDB implements DB{
// public function connect(){}
// public function exec($sql){}
// public function query($sql){}
// public function insert($table,$data){}
// public function select($table,$where){}
// public function delete($table,$where){}
// public function update($table,$data,$where){}
// }
/*****************Mysql数据库*********************************************/
// $db=Factory::create('Mysql');
// $a=$db->insert('admin',"'zhangsan','123'");
// $b=$db->select('admin');
// $b=$db->delete('admin',"id='1'");
// $b=$db->update('admin',"uname='lisi'","id='2'");
//
//print_r($b);
/****************Sqlserver数据库*******************************************/
$db=Factory::create('SQLserver');
$a=$db->select('admin');
print_r($a);
?>