CI框架常用函数封装实例


Posted in PHP onNovember 21, 2016

本文实例讲述了CI框架常用函数封装。分享给大家供大家参考,具体如下:

/**
* 封装查询函数
*/
public function get_what($table='',$where=array(),$fields = ' * '){
    if( '' == $table ){
      return false;
    }
    //查询并返回相关结果
    $query = $this->db->select($fields)->where($where)->get($table);
    $res = $query->result_array();
    return $res;
}
/**
* 封装单条查询函数
*/
public function get_row($table='',$where=array(),$fields = ' * '){
    if( '' == $table ){
      return false;
    }
    //查询并返回相关结果
    $query = $this->db->select($fields)->where($where)->get($table);
    $res = $query->row_array();
    return $res;
}
/**
* 封装更新函数
*/
public function update_what($table='', $where=array(), $data = array()){
    if('' == $table || true === empty($where) || true === empty($data)){
      return false;
    }
    //更新相应的字段
    $query = $this->db->update($table,$data,$where);
    return $query;
}
/**
* 扩展数据库函数之自增 自减
* using:
* $table = 'codeuser';
$where = array('id'=>1);
$data = array('usestate'=>'usestate+1','imgtype' => 'imgtype-1');
*/
public function update_count($table = '', $where=array(), $data=array()){
     //如果表名为空 或者数据为空则直接 返回false
     if('' == $table || empty($data)){
       return false;
     }
     foreach($data as $key => $val){
       if(false !== stripos($val,'+') || false !== stripos($val,'-')){
         $this->db->set($key, $val, FALSE);
       }else{
         $this->db->set($key, $val);
       }
     }
     $res = $this->db->where($where)->update($table);
     return $res;
}
/**
* 封装插入函数
*/
public function insert_what($table = '', $data = array()){
    if('' == $table || true === empty($data)){
      return false;
    }
    //插入 相关记录
    $query = $this->db->insert($table, $data);
    return $query;
}
/**
* 删除记录封装函数
*/
public function delete_what($table = '', $where=array()){
    if(true === empty($where) || '' == $table){
      return false;
    }
    //删除相关表记录
    $query = $this->db->delete($table,$where);
    return $query;
}
/**
* debug 相关函数
*/
 public function debug_what($org_error = ''){
    $con = $this->router->fetch_class();
    $func = $this->router->fetch_method();
    if($org_error){
      $error .= date("Y-m-d H:i:s",time())."\r\n";
      $error .= __FILE__."\r\n";
      $error .= $con." 控制器下的:\r\n";
      $error .= $func." 方法调试信息如下:\r\n";
      $error .= $org_error;file_put_contents("./error_log.txt",$error."\r\n",FILE_APPEND);
    }
}

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php.ini中的php-5.2.0配置指令详解
Mar 27 PHP
PHP 5.3新特性命名空间规则解析及高级功能
Mar 11 PHP
php disk_free_space 返回目录可用空间
May 10 PHP
php 删除一个数组中的某个值.兼容多维数组!
Feb 18 PHP
php实现的获取网站备案信息查询代码(360)
Sep 23 PHP
php实现cc攻击防御和防止快速刷新页面示例
Feb 13 PHP
PHP防范SQL注入的具体方法详解(测试通过)
May 09 PHP
php类中的各种拦截器用法分析
Nov 03 PHP
php针对cookie操作的队列操作类实例
Dec 10 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
PHP封装的Twitter访问类实例
Jul 18 PHP
Thinkphp+smarty+uploadify实现无刷新上传
Jul 30 PHP
CI框架数据库查询缓存优化的方法
Nov 21 #PHP
CI框架AR数据库操作常用函数总结
Nov 21 #PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
Nov 21 #PHP
CI框架入门之MVC简单示例
Nov 21 #PHP
php_pdo 预处理语句详解
Nov 21 #PHP
CI框架表单验证实例详解
Nov 21 #PHP
CI框架使用composer安装的依赖包步骤与方法分析
Nov 21 #PHP
You might like
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
PHP中=赋值操作符对不同数据类型的不同行为
2011/01/02 PHP
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
Nginx下ThinkPHP5的配置方法详解
2017/08/01 PHP
js 一个关于图片onload加载的事
2013/11/10 Javascript
关于js内存泄露的一个好例子
2013/12/09 Javascript
jQuery Migrate 1.1.0 Released 注意事项
2014/06/14 Javascript
浅析javascript操作 cookie对象
2014/12/26 Javascript
JavaScript对数字的判断与处理实例分析
2015/02/02 Javascript
JavaScript中的substr()方法使用详解
2015/06/06 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
2015/10/15 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
Java设计中的Builder模式的介绍
2018/03/22 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
2019/01/06 Javascript
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
JavaScript函数的4种调用方法实例分析
2019/03/05 Javascript
JS实现指定区域的全屏显示功能示例
2019/04/25 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
JavaScript日期库date-fn.js使用方法解析
2020/09/09 Javascript
Python实现分数序列求和
2020/02/25 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
2020/04/30 Python
纯CSS3代码实现switch滑动开关按钮效果
2016/08/30 HTML / CSS
西班牙土拨鼠床垫公司,感觉在云端:Marmota
2019/03/18 全球购物
护理专业的自荐信
2013/10/22 职场文书
美术教学感言
2014/02/22 职场文书
职称评定自我鉴定
2014/03/18 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
邀请函怎么写
2015/01/30 职场文书
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
windows11选中自动复制怎么开启? Win11自动复制所选内容的方法
2022/07/23 数码科技
python计算列表元素与乘积详情
2022/08/05 Python