CI框架出现mysql数据库连接资源无法释放的解决方法
本文实例分析了CI框架出现mysql数据库连接资源无法释放的解决方法。分享给大家供大家参考,具体如下:
使用ci框架提供的类查询数据:
$this->load->database(); $query = $this->db->query($sql);
程序运行一段时间之后,报错,告知数据库too many connections
很明显MySQL数据库连接资源超过了 max_connections 设定值。立马在每个查询之后,添加资源释放脚本:
$this->db->close();
仍然无法释放资源,怎么办呢?查看手册之后,知道了,只要把pconnect设置为false就可以了,设置大致如下:
$db['default']['pconnect'] = FALSE;
设置 过之后,无需调用
$this->db->close();
即可自动关闭连接。
更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。
相关推荐
-
codeigniter自带数据库类使用方法说明
初始化数据库类 依据你的数据库配置载入并初始化数据库类: 复制代码 代码如下: this->load->database(); 被载入之后你可以在任何地方使用它. 以对象形式返回查询结果 复制代码 代码如下: $query = $this->db->query('SELECT name, title, email FROM my_table'); foreach ($query->result() as $row){ echo $row->title; ec
-
CI框架AR数据库操作常用函数总结
本文实例讲述了CI框架AR数据库操作常用函数.分享给大家供大家参考,具体如下: 1.查询表记录 $this->db->select(); //选择查询的字段 $this->db->select_max(); $this->db->select_min(); $this->db->select_avg(); $this->db->select_sum(); $this->db->from(); //选择表名 $this->db-&
-
CI框架数据库查询之join用法分析
本文实例讲述了CI框架数据库查询之join用法.分享给大家供大家参考,具体如下: 用 A表中的每个ID 去查询这个 ID 在 people 表中的信息.语句如下: $this->db->from('A'); $this->db->join('B', 'sites.id = B.id'); 用 A表中的每个ID 去查询这个 ID 在 B表中的信息. 注意SQL的约定,如果一个列名在二张表中是重复的,你需要在列名前加上表名和一个"."号.因此sites.id在位置桌
-
CI框架数据库查询缓存优化的方法
本文实例讲述了CI框架数据库查询缓存优化的方法.分享给大家供大家参考,具体如下: CI框架中有个比较好的查询优化,就是数据库缓存优化 1.开启缓存 //在application/config.php中开启 $db['default']['cache_on'] = TRUE; //在application/config.php中开启 $db['default']['cachedir'] = './cache'; //并在对应的目录中加一个可写缓存目录cache 2. 在对应的查询中开启缓存语句 /
-
新浪SAE云平台下使用codeigniter的数据库配置
由于新浪SAE对文件权限的限制,cache目录无法修改权限,因此原版Codeigniter无法直接使用.可以尝试codeIgniter 2.10 for SAE:http://code.google.com/p/ci-sae/. 在database.php中配置如下: 复制代码 代码如下: $db['default']['hostname'] = SAE_MYSQL_HOST_M;$db['default']['username'] = SAE_MYSQL_USER;$db['default']
-
codeigniter数据库操作函数汇总
网上倒是有不少Codeigniter数据库操作的介绍,这里做一个汇总. 复制代码 代码如下: //查询: $query = $this->db_query("SELECT * FROM table"); ================================== //result() 返回对象数组$data = $query->result(); //result_array() 返回数据$data = $query->result_array(); //r
-
CI框架入门示例之数据库取数据完整实现方法
本文实例讲述了CI框架入门示例之数据库取数据完整实现方法.是写给初学者看的,这是最简单可以调通的例子.分享给大家供大家参考.具体实现方法如下: 1.下载CI框架 2.配置 database.php配置: 为数据库服务器设置 connection 参数: 复制代码 代码如下: $db['default']['hostname'] = "your-db-host"; $db['default']['username'] = "your-username"; $db[
-
CodeIgniter删除和设置Cookie的方法
本文实例讲述了CodeIgniter删除和设置Cookie的方法.分享给大家供大家参考.具体如下: $cookie = array( 'name' => 'loggedin', 'value' => 'yes', 'expire' => '86500', 'domain' => '.apol0829.dev', 'prefix' => 'apollidon_' ); set_cookie($cookie); $cookie = array( 'name' => 'log
-
CI(CodeIgniter)框架中的增删改查操作
CodeIgniter的数据函数类在 \system\database\DB_active_rec.php 复制代码 代码如下: <span style="font-size:16px;">class ModelName extends CI_Model { function __construct() { parent::__construct(); } }</span> 连接数据库:$this->load->
-
CI框架中数据库操作函数$this->db->where()相关用法总结
本文实例总结了CI框架中数据库操作函数$this->db->where()相关用法.分享给大家供大家参考,具体如下: CI 框架数据库操作函数 this->db->where() 的使用 1) $this->db->where('MATCH (field) AGAINST ("value")', NULL, FALSE) 如果把$this->db->where() 接受可选的第三个参数设置为 FALSE, CodeIgniter 将不会为
-
CI配置多数据库访问的方法
本文实例讲述了CI配置多数据库访问的方法.分享给大家供大家参考,具体如下: 1.修改datebase.php文件,将: $db['XXX']['pconnect'] = TRUE; 修改成: $db['XXX']['pconnect'] = FALSE; 2.将原来的数据库链接定义复制一份,如当前 $db['bbs']['hostname'] = '你的数据库IP地址'; $db['bbs']['username'] = '链接用户名'; $db['bbs']['password'] = '数据
-
CodeIgniter框架基本增删改查操作示例
本文实例讲述了CodeIgniter框架基本增删改查操作.分享给大家供大家参考,具体如下: 对于codeigniter的增删改,在此我用自己的一个例子来说明一下: 创建数据库: CREATE TABLE IF NOT EXISTS `users` ( `id` int(10) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `password` varchar(50) NOT NULL, `email` varchar(100)
-
php中CI操作多个数据库的代码
其实,这不是什么难事,因为刚入手CI,所以还是费了一番周折.好在有手册. 找到数据库配置文件,添加一个新的库的连接信息.$config[XX]. 在控制器里边, a) $this->xx = $this->load->database('XX', TRUE) tip:XX表示你配置的数据库信息数组的键名,后边建议设置为TRUE,分别表示返回连接ID和启用ActionRecord类 b) 然后在该控制器里边你就可以用 $this->xx->query()来查询你的另一个库的数据
随机推荐
- JSP学习心得
- flex压缩图片exif信息(作者/相机)丢失问题解决
- 网页前端登录js按Enter回车键实现登陆的两种方法
- Oracle SQL Developer显示的时间包含时分秒的设置方法
- centos 7 部署Thinksns的思路详解
- 反序列出文本的每行内容的批处理
- c++中new和delete操作符用法
- 使用Python对Excel进行读写操作
- Swift中初始化方法的顺序介绍
- BootStrap点击保存后实现模态框自动关闭的思路(模态框)
- BootStrap初学者对弹出框和进度条的使用感觉
- PHP实现腾讯与百度坐标转换
- php处理单文件、多文件上传代码分享
- Mysql创建通用设备管理信息系统数据库
- JS判断客户端是手机还是PC的2个代码
- 深入探讨:Nginx 502 Bad Gateway错误的解决方法
- php实现window平台的checkdnsrr函数
- 2013年优秀jQuery插件整理小结
- 十个习惯让你精通新的开发技术
- jquery解析xml字符串示例分享