您的位置:首页 > 编程语言 > PHP开发

自己写的yaf的mysql pdo扩展

2016-03-31 21:51 423 查看
yaf没有自己的数据库扩展,正好闲着没事就花了一上午写了一个pdo的数据库扩展,支持php连贯操作,支持数组插入,更新等,因为时间有限,写的并不是很完善,还有很多要去补充,比如执行错误提示等等,先粘贴出来,希望大家可以提出意见和建议。

<?php
/**
* Created by PhpStorm.
* User: Administrator:HenryZhang
* Date: 2016/3/31
* Time: 8:23
*/
interface  delete1{
function delete();
function  deletebyId($id);

}
interface  update1{
function  update_array(array $arr);
//    function
function update($data,$where);
}
interface  insert1{
function insert(array $arr);

}
interface  select2{
function  get_all();//获取数据库全部信息
function  get_one($where);//获取一条信息
function  get_field();//获取一个字段的信息
function  select();//选择
function  findbyId($id);//根据id条件查询
}
class db123{

function __construct()
{
$connect= new PDO("mysql:host=localhost;dbname=yaf","root","");

return $connect;
}
function  exec_sql($sql){
$conn= $this->__construct();
return  $arr=$conn->query($sql);
}
function  query_sql($sql){
$conn= $this->__construct();
return  $arr=$conn->query($sql);
$result=array();
foreach($arr as $v){
$result[]=$v;
}
//        return $conn->getError();
return $result;
}
}
class pdotest1 extends db123 implements  select2,insert1,update1,delete1{
private $password='';
private $tablename="";
private $where="";
private $limit="";
private $field="";
private $order="";
private $connect;
function __construct()
{
return   parent::__construct();
}
function  where($where)
{  $this->where="where  ".$where;
// TODO: Implement where() method.
return $this;
}
function  tablename($tabname)
{
$this->tablename=" ".$tabname;
// TODO: Implement db() method.
return $this;
}
function  limit($limit,$end=" ")
{
// TODO: Implement limit() method.
if($end==" "){
$this->limit=" limit 0,".$limit;
}
else{
$this->[b]limit=" limit $limit,$end";
}
return $this;

}
function  field($filed)
{
$this->field=$filed;
return $this;
// TODO: Implement field() method.
}
function  order($field, $oder)
{  $this->order="order by $field  $oder";
// TODO: Implement order() method.
return $this;
}
function  select()
{
//      $this->db1("user");
// TODO: Implement sele() method.
$conn= $this->__construct();
$tabelname=($this->tablename);
$where=$this->where;
$limit=$this->limit;
$field=$this->field;
$order=$this->order;

if($field==""){
$sql="select * from $tabelname $where $order $limit";
}
else{
$sql="select $field $tabelname $where $order  $limit";
}
return  parent::query_sql($sql);

}
function  get_all()
{

//        // TODO: Implement get_all() method.
$tbname=$this->tablename;

$sql="select *  from $tbname";
echo $sql;

$conn= $this->__construct();
$arr=$conn->query($sql);
$result=array();
foreach($arr as $v){
$result[]=$v;
var_dump( $v);
}

return $result ;

}
function  get_field()
{
// TODO: Implement get_field() method.
$field=$this->field;
$taname=$this->tablename;
$sql="select  $field  from  $taname";
echo $sql;
return  parent::query_sql($sql);
}
function  get_one($where)
{
// TODO: Implement get_one() method.
$tbname=$this->tablename;

$sql="select * from $tbname where  $where";
echo $sql;
return  parent::query_sql($sql);

}
function  findbyId($id)
{
// TODO: Implement findbyId() method.
$tabelname=$this->tablename;
$sql="select * from   $tabelname where id=$id";
return parent::query_sql($sql);
}
function insert(array $arr)
{
$len=count($arr);
$value1=array();
foreach($arr as $k=>$v){
$value1[]=$k;
$value2[]=$v;
}
$filed="";
$filed1="";
for ($i=$len-1;$i>=0;$i--){
$filed=$value1[$i].','.$filed;
}
for ($i=$len-1;$i>=0;$i--){
$filed1="'".$value2[$i]."'".','.$filed1;

}
//        echo $filed1;
$value3=substr($filed,0,(strlen($filed)-1));
$value4= substr($filed1,0,(strlen($filed1)-1));
//        echo $value4;
var_dump($value1);
var_dump($value2);
$tabname=$this->tablename;
$sql="insert into $tabname ($value3) values($value4)";
if(!parent::exec_sql($sql)){
echo "insert error";
}
else{
echo "ok";
}

}
function update_array(array $arr){
$len=count($arr);
}
function update($data,$where){
$tbname=$this->tablename;
$sql="update $tbname set $data where $where";

if(!parent::exec_sql($sql)){
echo  "updaa error";

}
else{

echo  "ok";
};
}
function deletebyId($id){
$tbname=$this->tablename;
$sql="delete from $tbname where id=$id";
if(!parent::exec_sql($sql)){
echo  " deletebyId error";

}else{
echo "deletebyId ok";
}

}
function  delete()
{
$tbname=$this->tablename;
echo $tbname;
$where=$this->where;
$sql="delete from $tbname $where";
echo $sql;
if(!parent::exec_sql($sql)){
echo "delect error";
}else{
echo "delete ok";
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: