首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Codeigniter $this->db->reconnect();使用

Codeigniter $this->db->reconnect();使用
EN

Stack Overflow用户
提问于 2012-07-29 14:32:05
回答 2查看 10.7K关注 0票数 4

我是,而不是自动加载db,因为我的应用程序的大多数页面----不需要db处理,否则整个过程就会慢下来。我想要做的是,在数据库已经存在的情况下,不要建立到db的新连接,而是使用它,而不是麻烦server-db。那么,如何对下面的示例实现$this->db->reconnect();呢?我读过用户指南,但没有确切的例子。

注意:,如果我需要使用$this->db->close();$this->db->initialize();,那么也请帮助我实现它们,因为我听说,禁用自动加载的调用$this->db->reconnect();会抛出一个错误。

我正在使用CI 2.1

谢谢

代码语言:javascript
运行
复制
class Test_model extends CI_Model
{
 public function __construct()
 {
  parent::__construct();

  $this->load->database();
 }

 public function function_a($id)
 {
  $this->db->protect_identifiers('year');

  $sql = "SELECT * FROM year WHERE id = ?";

  $data['dbquery'] = $this->db->query($sql, array($id));

  return $data['dbquery'];
 }

 public function function_b($id)
 {
  $this->db->protect_identifiers('month');

  $sql = "SELECT * FROM month WHERE id = ?";

  $data['dbquery'] = $this->db->query($sql, array($id));

  return $data['dbquery'];
 }


 public function function_c($id)...
 public function function_d($id)...
 public function function_e($id)...
} 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-29 15:09:47

基本上,如果您将pconnect=false保存在database.php中,那么连接将在每个脚本的执行结束时自动关闭,默认情况下它将设置为false

好吧,如果你愿意,你可以用

代码语言:javascript
运行
复制
$this->db->close();

每次执行查询后,手动关闭连接并使用

代码语言:javascript
运行
复制
$this->db->initialize();

在任何查询执行之前,在关闭连接后再次初始化连接。

票数 9
EN

Stack Overflow用户

发布于 2012-07-29 14:44:57

最好的方法是关闭连接并手动重新连接:

代码语言:javascript
运行
复制
$this->db->close();
$this->db->initialize(); 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11710039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档