自己写的yaf的mysql pdo扩展

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

<?php
/**
 * Created by PhpStorm.
 * User: AdministratorHenryZhang
 * 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->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";
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值