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 相关文章推荐
PHPThumb PHP 图片缩略图库
Mar 11 PHP
php上传图片到指定位置路径保存到数据库的具体实现
Dec 30 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
Sep 22 PHP
PHP编程之设置apache虚拟目录
Jul 08 PHP
php集成动态口令认证
Jul 21 PHP
php版微信公众平台实现预约提交后发送email的方法
Sep 26 PHP
PHP GD库相关图像生成和处理函数小结
Sep 30 PHP
PHP单态模式简单用法示例
Nov 16 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
Jan 07 PHP
PHP基于DOMDocument解析和生成xml的方法分析
Jul 17 PHP
Laravel中Facade的加载过程与原理详解
Sep 22 PHP
PHP程序员必须知道的两种日志实例分析
May 14 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
深思 PHP 数组遍历的差异(array_diff 的实现)
2008/03/23 PHP
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
2009/05/27 PHP
基于PHP编程注意事项的小结
2013/04/27 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
showModelessDialog()使用详解
2006/09/07 Javascript
firefox firebug中文入门教程 脚本之家新年特别版
2010/01/02 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
Jquery异步提交表单代码分享
2015/03/26 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
JS引用传递与值传递的区别与用法分析
2018/06/01 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
2020/10/24 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
JavaScript 防盗链的原理以及破解方法
2020/12/29 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
python操作日期和时间的方法
2014/03/11 Python
Python Nose框架编写测试用例方法
2017/10/26 Python
在NumPy中创建空数组/矩阵的方法
2018/06/15 Python
python两个list[]相加的实现方法
2020/09/23 Python
在线实验室测试:HealthLabs.com
2020/05/03 全球购物
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
办公室文秘岗位职责
2013/11/15 职场文书
化验室技术员岗位职责
2013/12/24 职场文书
《动手做做看》教学反思
2014/04/09 职场文书
室内设计专业自荐信
2014/05/31 职场文书
国际经济与贸易专业求职信
2014/07/10 职场文书
2015秋季开学典礼新闻稿
2015/07/17 职场文书
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android
MySQL GTID复制的具体使用
2022/05/20 MySQL