博客列表 >函数封装-4月26日

函数封装-4月26日

威灵仙的博客
威灵仙的博客原创
2018年04月27日 23:41:23688浏览

自己敲遍学习

实例

<?php

require 'lib/func_pdo1.php';

//1.连接测试
$type='mysql';      //默认数据库驱动
$host='127.0.0.1';  //默认主机
$dbname='php';      //数据库名称
$charset='utf8';    //默认编码
$port=3306;         //默认端口
$user='root';       //用户名
$pass='root';       //用户密码
$pdo = connect($dbname,$type,$host,$charset,$port,$user,$pass);
//insert
$table = 'staff';
$data = ['name'=>'zhuang','sex'=>1,'age'=>40,'salary'=>6000];
//insert($pdo,$table,$data);


//update
$table = 'staff';
$where='staff_id=21'; //查询条件使用字符串直接传入
$data = ['name'=>'php','sex'=>0, 'age'=>30,'salary'=>500];
update($pdo,$table,$data,$where);

//4.单条查询测试
$table = 'staff';
$fields = ['name','age','salary'];
//$fields = '*';
$fields = 'name,salary';
$where = 'age > 40';
//echo '<pre>'.print_r(find($pdo, $table, $fields, $where),true).'</pre>';

//5.多条查询测试
$table = 'staff';
$fields = ['name','age','salary'];
$fields = '*';
$where = 'age < 40';
$order = 'name asc';
echo '<pre>'.print_r(select($pdo, $table, $fields, $where, $order),true).'</pre>';

//6.删除测试
$table = 'staff';
$where = 'staff_id = 25';
$where = '';
//delete($pdo, $table, $where);

运行实例 »

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

func_pdo1.php

实例

<?php

if(!function_exists('connect'))
 {
    /**
     * @param $dbname
     * @param $type
     * @param string $host
     * @param string $charset
     * @param int $port
     * @param string $user
     * @param string $pass
     * @return PDO
     */
     function connect( $dbname,$type='mysql',$host='127.0.0.1', $charset='utf8', $port=3306,$user='root',$pass='root')
     {
         $dsn = "{$type}:host={$host};dbname={$dbname};charset={$charset};port={$port} ";
         $userName = 'root';
         $password = 'root';
         $options = [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, $options);
         } catch (PDOException $e) {
             die('Connect ERROR!:' . $e->getMessage());
         }
         return $pdo;
     }
 }
//insert
 if(!function_exists('insert')) {
     function insert($pdo, $table, $data = [])
     {
         $sql = "INSERT IGNORE  {$table}  SET ";
         foreach (array_keys($data) as $field) {
             $sql .= $field . '=:' . $field . ', ';
         }
         $sql = rtrim(trim($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;
         }
     }
 }

 //update
if(!function_exists('update')){
    function update($pdo,$table,$data=[],$where=''){
        $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('输入法不能为空');}

       $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;
        }
    }

}

//查询单条数据
if (!function_exists('find')) {
    /**
     * 查询单条记录
     * @param $pdo
     * @param $table
     * @param $fields
     * @param string $where
     * @return bool
     */
    function find($pdo,$table,$fields, $where='') {
        //创建SQL语句
        $sql = 'SELECT ';
        if (is_array($fields)) {
            foreach ($fields as $field) {
                $sql .= $field.', ';
            }
        } else {
            $sql .= $fields;
        }
        $sql = rtrim(trim($sql),',');
        $sql .= '  FROM '.$table;
        //添加查询条件
        if(!empty($where)) {
            $sql .= '  WHERE '. $where;
        }
        $sql .= '  LIMIT 1';
        //去掉尾部逗号,并添加分号结束
        $sql = rtrim(trim($sql),',').';';

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


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

//查询多条记录
if (!function_exists('select')) {
    /**
     * 查询多条记录
     * @param $pdo
     * @param $table
     * @param $fields
     * @param string $where
     * @return bool
     */
    function select($pdo,$table,$fields, $where='', $order='') {
        //创建SQL语句
        $sql = 'SELECT ';
        if (is_array($fields)) {
            foreach ($fields as $field) {
                $sql .= $field.', ';
            }
        } else {
            $sql .= $fields;
        }

        $sql = rtrim(trim($sql),',');
        $sql .= '  FROM '.$table;
        //添加查询条件
        if(!empty($where)) {
            $sql .= '  WHERE '. $where;
        }

        //添加排序条件
        if(!empty($order)) {
            $sql .= ' order by '.$order;
        }

        //去掉尾部逗号,并添加分号结束
        $sql = rtrim(trim($sql),',').';';

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


        //执行查询操作
        if($stmt->execute()){
            if($stmt->rowCount()>0){
                $stmt->setFetchMode(PDO::FETCH_ASSOC);
                //返回一个二维数组
                return $stmt->fetchAll();
            }
        } else {
            return false;
        }
    }
}

//删除数据
if (!function_exists('delete')) {
    /**
     * 删除记录
     * @param $pdo
     * @param $table
     * @param string $where
     * @return bool
     */
    function delete($pdo,$table, $where='') {
        //创建SQL语句
        $sql = "DELETE FROM {$table}  ";
        //添加删除条件
        if(!empty($where)) {
            $sql .= 'WHERE '. $where;
        }else{
            exit('条件不能为空');
        }
        //去掉尾部逗号,并添加分号结束
        $sql = rtrim(trim($sql),',').';';

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

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

运行实例 »

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


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