求mysql pdo封装类,不用写sql那种不知道可不可以

解决方案 »

  1.   

    php 中的 pdo 扩展 
      

  2.   

    ORM ?
    不过都是模拟的,不敢恭维
    http://www.google.com.hk/search?sugexp=chrome,mod=8&client=aff-cs-360chromium&ie=UTF-8&q=phporm
      

  3.   

    建议你自己写一个AR类.等你用习惯AR类,要是新手估计连原生的SQL语句都忘光了
      

  4.   

    class ModBase extends SdkDbBase
    {
    function __construct($db='domain')
    {
    parent::__construct($db);
    }

    protected function exec($sql)
    {
    if($this->dbo->exec($sql)!==false)
    {
    return TRUE;
    }
    return FALSE;
    }

    protected function select($sql,$one=FALSE,$clumn=FALSE)
    {
    $dbh=$this->dbo->query($sql);
    $dbh->setFetchMode(PDO::FETCH_ASSOC);
    if($clumn)
    {
    return $dbh->fetchColumn();
    }
    if($one)
    {
    return $dbh->fetch();
    }
    return $dbh->fetchAll();
    }

    protected function insertBase($sql)
    {
    if($this->dbo->exec($sql)!=false)
    {
    return $this->dbo->lastInsertId();
    }
    return false;
    }

    protected function getListBase($table,$where,$fields='*')
    {
    if($where==false || empty($where))
    {
    return false;
    }
    $sql='select '.$fields.' from '.$table;
    if($where)
    {
    $sql.=' '.$where;
    }
    return self::select($sql);
    }

    protected function getCountBase($table,$where)
    {
    $sql='select count(*) from '.$table;
    if($where)
    {
    $sql.=' '.$where;
    }
    return self::select($sql,true,true);
    }

    protected function getOneBase($table,$where,$fields='*')
    {
    return self::select('select '.$fields.' from '.$table .' '.$where,true);
    }

    protected function deleteBase($table,$where)
    {
    if(!$where || empty($where))
    {
    return false;
    }
    return self::exec('delete from '.$table .' '.$where);
    }

    protected function setBase($table,$set,$where)
    {
    if(!$set || !$where)
    {
    return false;
    }
    return self::exec('update '.$table.' set '.$set.' '.$where);
    }
    }
      

  5.   

    /**
     * 返回WHERE语句
     * @param array $data
     */
    protected static function getWhereSql($data)
    {
    $where='';
    $whereData=isset($data['where'])?$data['where']:'';
    if(is_array($whereData) && $whereData)
    {
    $i=0;
    foreach ($whereData as $key=>$value)
    {
    $i++;
    $fuhao='=';
    $one=substr($value,0,1);
    if($one=='<' || $one=='>' || $one=='!')
    {
    $fuhao=(stripos($value,$one.'=')!==FALSE) ?$one.'=' :$one;
    $value=str_replace($fuhao,'',$value);
    }
    $where.=$key.$fuhao."'".$value."'";
    if($i<count($whereData))
    {
    $where.=" and ";
    }
    }
    }
    else
    {
    $where=$whereData;
    }
    $where=$where ?' where '.$where :'';
    $like='';
    if(isset($data['like']))
    {
    if(is_array($data['like']) && $data['like'])
    {
    $k=1;
    foreach ($data['like'] as $key=>$value)
    {
    $like.=" ".$key." like '%".$value."%' ";
    if($k < count($data['like']))
    {
    $like.=' and ';
    }
    $k++;
    }
    $where=$where ?$where.' and '.$like :' where '.$like;
    }
    }
    $in='';
    if(isset($data['in']))
    {
    if(is_array($data['in']) && $data['in'])
    {
    $k=1;
    foreach ($data['in'] as $key=>$value)
    {
    $in.=' '.$key.' in ('.$value.') ';
    if($k < count($data['in']))
    {
    $in.=' and ';
    }
    $k++;
    }
    $where=$where ?$where.' and '.$in :' where '.$in;
    }
    }
    if(isset($data['group']))
    {
    $where.=" group by ".$data['group'];
    }
    if(isset($data['order']))
    {
    $where.=" order by ".$data['order'];
    }
    if(isset($data['limit']))
    {
    $where.=" limit ".$data['limit'];
    }
    return $where;
    }