博客列表 >函数库文件,将数据库常用操作进行封装-2018年4月26日

函数库文件,将数据库常用操作进行封装-2018年4月26日

笨鸟先飞
笨鸟先飞原创
2018年04月30日 15:56:14659浏览

1.连接数据库:

实例

if(!function_exists('cennect'))
{
     function connect($dbname,$type='mysqli',$host='127.0.0.1',$user='root',$pass='root',$charset='utf8',$port='3306')
     {
         /**
          * 连接数据库
          */
        $dsn = "{$type}:host={$host};dbname={$dbname};charset={$charset};port={$port}";
        $userName = $user;
        $passWord = $pass;
        $option = [
            PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,//错误模式
            PDO::ATTR_CASE=>PDO::CASE_NATURAL,//自然名称
            PDO::ATTR_EMULATE_PREPARES=>true,//启用模拟功能
            PDO::ATTR_PERSISTENT=>true,//持续连接
        ];
        try{
            $pdo = new PDO($dsn,$userName,$passWord,$option);
        }catch (PDOException $e){
            echo '连接失败'.$e->getMessage();
            die();
        }
       return $pdo;
     }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

2.新增操作:

实例

if(!function_exists('insert'))
{
    /**
     * @param $pdo
     * @param $table
     * @param array $data
     */
    function insert($pdo,$table,$data=[])
    {
        //创建sql语句
        $sql = "INSERT IGNORE {$table} SET ";
        foreach (array_keys($data) as $field){
            $sql .= $field.'=:'.$field.',';
        }
        $sql = rtrim(trim($sql),',').';';
//        die($sql);

        //创建对象
       $stmt = $pdo->prepare($sql);

       //绑定参数到预处理对象
        foreach ($data as $field=>$value){
            $stmt ->bindValue(":{$field}",$value);
        }
        //执行新增操作
        if($stmt->execute()){
            if($stmt->rowCount()>0){
                return true;
            }
        }else{
            return false;
        }

    }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例


3.更新操作:

实例

if(!function_exists('updata'))
{
    /**更新操作
     * @param $pdo
     * @param $table
     * @param array $data
     * @param $where
     */
   function update($pdo,$table,$data=[],$where='')
   {
     //       创建sql语句
       $sql = "UPDATE {$table} SET ";
       foreach (array_keys($data) as $field){
           $sql .= $field.'=:'.$field.',';
       }
       $sql = rtrim(trim($sql),',');

       //添加更新条件
       if(!empty($where)){
           $sql .= ' WHERE '.$where;
       }else{
           exit('条件不能为空');
       }
       $sql = rtrim(trim($sql),',').';';
//       die($sql);
      //创建stmt预处理对象
       $stmt = $pdo->prepare($sql);

       //绑定参数到预处理对象
       foreach ($data as $field=>$value){
           $stmt->bindValue(":{$field}",$value);
       }

       //执行更新操作
       if($stmt->execute()){
           if($stmt->rowCount()>0){
               return true;
           }
       }else{
           return false;
       }
   }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

4.单条查询数据:

实例

if(!function_exists('find'))
{
    /**单条查询数据
     * @param $pdo
     * @param $table
     * @param array $data
     * @param string $where
     */
    function find($pdo,$table,$fields,$where='')
    {
        //创建sql语句
        $sql = "SELECT ";
        if(is_array($fields)){
           foreach ($fields as $field){
               $sql .= $field.',';
           }
           $sql = rtrim(trim($sql),',');
        }else if(is_string($fields)){
            $sql .= $fields;
        }
          $sql .= " FROM ".$table;

        if(!empty($where)){
            $sql .= " WHERE ".$where;
        }else{
            exit('条件不为空');
        }
        $sql .= " LIMIT 1 ".';';
//        die($sql);
        //创建stmt预处理对象
        $stmt = $pdo->prepare($sql);

        //执行操作
        if($stmt ->execute()){
            if($stmt->rowCount()>0){
                $stmt->setFetchMode(PDO::FETCH_ASSOC);
                return $stmt->fetch();
            }
        }else{
            return false;
        }



    }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

5.多条查询数据:

实例

if(!function_exists('select'))
{
    /**多条语句查询
     * @param $pdo
     * @param $table
     * @param $fields
     * @param string $where
     */
    function select($pdo,$table,$fields,$where='',$order='')
    {
        //准备sql语句
        $sql = "SELECT ";
        if(is_array($fields)){
            foreach ($fields as $field){
                $sql .= $field.',';
            }
         $sql = rtrim(trim($sql),',');
        }else if(is_string($fields)){
            $sql .= $fields;
        }else{
            $sql .= $fields;
        }
        $sql .= " FROM ".$table;
        if(!empty($where)){
            $sql .= " WHERE ".$where;
        }
        if(!empty($order)){
            $sql .= " ORDER BY ".$order.';';
        }
//        die($sql);
//        //创建stmt预处理对象
        $stmt = $pdo->prepare($sql);
//
//        //执行操作
        if($stmt->execute()){
            if($stmt->rowCount()>0){
                $stmt->setFetchMode(PDO::FETCH_ASSOC);
               return  $stmt->fetchAll();
            }
        }else{
            return false;
        }
    }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

6.删除操作:

实例

if (!function_exists('delete')){
    function delete($pdo,$table,$where='')
    {
        /**
         * 删除数据
         */
        //创建sql 语句
        $sql = "DELETE FROM {$table} ";
        if(!empty($where)){
            $sql .= " WHERE ".$where.';';
        }else {
            exit('条件不能为空');
        }
//die($sql);
        //创建stmt预处理对象
        $stmt = $pdo->prepare($sql);

        //执行操作
        if($stmt->execute()){
            if($stmt->rowCount()>0){
                return true;
            }
        }else{
            return false;
        }

    }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议