博客列表 >MySQL数据库操作之封装函数0427

MySQL数据库操作之封装函数0427

无耻的鱼
无耻的鱼原创
2018年04月27日 20:00:271359浏览

这次先看代码

QQ截图20180427195645.png

函数库实例

<?php
/**
 * pdo函数库
 * User: Z先生
 * Date: 2018/4/27
 */


//local()数据库连接
if(!function_exists('local')){
    function local($dns,$user,$pass){
        $pdo = @new PDO('mysql:dbname='.$dns,$user,$pass) or die('连接失败');
        echo '连接成功';

        return $pdo;
    }
}

// select()数据查询
if(!function_exists('select')){
    function select($pdo,$table,$value,$where=''){
//         $pdo();
        try{

//            $sql = "SELECT * FROM AAA WHERE value";
            if(!is_string($value)){
                die('请输入字符串');
            }

            if(!empty($where)){
                $sql = "SELECT {$value} FROM {$table} WHERE {$where} ;";
            }else{
                $sql = "SELECT {$value} FROM {$table} ;";
            }
//            die($sql);
            //创建PDO预处理对象
            $stmt = $pdo->prepare($sql);
            //执行
            if($stmt->execute()){
                if($stmt->rowCount()>0){
                    return $stmt->fetchAll(PDO::FETCH_ASSOC);
                }
            } else {
                return false;
            }

        }catch (ErrorException $e){
            $e->getMessage();
        }

    }
}

//delete()数据删除
if(!function_exists('delete')){
    function delete($pdo,$table,$where){

        try{

//           $sql = "DELETE * FROM AAA WHERE value";

            if(empty($where)){
                die('第三个参数不能为空');
            }else{
                $sql = "DELETE FROM {$table} WHERE {$where} ;";
            }
//            die($sql);
            //创建PDO预处理对象
            $stmt = $pdo->prepare($sql);
            //执行
            if($stmt->execute()){
                if($stmt->rowCount()>0){
                    return '已删除';
                }
            } else {
                return false;
            }

        }catch (ErrorException $e){
            $e->getMessage();
        }

    }
}

//insert()数据添加
if(!function_exists('insert')){
    function insert($pdo,$table,$values){

        try{

//           $sql = "INSERT IGNORE aaa SET value";
            $sql = "INSERT IGNORE {$table} SET ";

            foreach ($values as $keys=>$value){
                $sql .=" {$keys}=:{$keys},  ";
            }
            $sql = rtrim(trim($sql),',').'  ;';

//            die($sql);

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

//            绑定数据
            foreach ($values as $keys => $value) {
                $stmt->bindValue(":{$keys}",$value);
            }

            if($stmt->execute()){
                if($stmt->rowCount()>0){
                    return '添加成功';
                }
            } else {
                return false;
            }


        }catch (ErrorException $e){
            $e->getMessage();
        }

    }
}

//update()数据修改
if(!function_exists('update')){
    function update($pdo,$table,$values,$where=''){
//         $pdo();
    try{

//            $sql = "UPDATE aaa SET value WHERE where";

        $sql = "UPDATE {$table} SET  ";

        foreach ($values as $keys => $value){
            $sql .=" {$keys}=:{$keys},  ";
        }
        $sql = rtrim(trim($sql),',') ;



        if(empty($where)){
            die( '请输入第四个参数');
        }else{
            $sql .= " WHERE {$where} ;";
        }

//        die($sql);

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

        //绑定数据
        foreach ($values as $keys => $value) {
            $stmt->bindValue(":{$keys}",$value);
        }

        //执行
        if($stmt->execute()){
            if($stmt->rowCount()>0){
                return "更新完成";
            }
        } else {
            return false;
        }

    }catch (ErrorException $e){
        $e->getMessage();
    }

}
}

运行实例 »

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


执行实例

<?php
/**
 * User: Z先生
 * Date: 2018/4/27
 */
require 'lib/function_pdo.php';

//连接数据库
$pdo =  local('php','root','root');

//数据查找
echo '<pre>';
print_r(select($pdo,'aaa','name,age','id=37'));
echo '</pre>';

//数据删除
delete($pdo,'aaa','id=37');

//数据添加
$arr= [
    "name"=>'小花',
    "age"=>23,
    "money"=>4300
];
echo insert($pdo,'aaa',$arr);

//数据更新
$arr= [
    "name"=>'邓超',
    "age"=>23,
    "money"=>4300
];
update($pdo,'aaa',$arr,'id=20');

运行实例 »

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

---------------------------------------------------------

总结:

1这个函数的封装其实是对之前所学的一个总结

2.把一些关键数据拿了出来,用变量来代替

3.把握好变量、数组等

4.使用die()一步步的检测


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