存储过程从mysql数据库断开codeigniter

时间:2012-04-12 16:13:04

标签: php mysql codeigniter stored-procedures

您好这是一个概念性问题。

我在mysql中编写了一个正常工作的存储过程,并返回了我期望的结果。然后我可以从我编写的codeiigniter库中调用该SP。它向服务器提供正确的结果,然后可以向客户端显示正确的数据。但是,如果我尝试按后退按钮或刷新页面,则会收到以下错误:

    A Database Error Occurred
    Unable to select the specified database: stage
    Filename: C:\xampp\htdocs\website\Web\system\database\DB_driver.php
    Line Number: 140

我不确定问题的起源。我担心这是一个配置问题,或类似的东西。我正在使用codeigniter V 2.0.1。有没有人在CI中有SP的类似经历?谢谢。

5 个答案:

答案 0 :(得分:2)

所以问题与此处列出的问题有关: http://codeigniter.com/forums/viewthread/71141/

这最终成为xampp使得这些错误无法正常解决的情况,这让我相信这是另一个问题。通过设置我的数据库配置文件以使用mysqli并通过构建一个钩子到核心来修改codeigniter处理从mysqli存储过程返回的查询的方式,一切都能够一起工作。感谢大家的帮助,它帮助我找到了问题的真正根源。

答案 1 :(得分:1)

到那时,与数据库的连接可能会关闭。检查您的config/database.php,看看更改持久连接到TRUE是否会改变任何内容:

$db['default']['pconnect'] = TRUE;

答案 2 :(得分:1)

使用codeigniter

的指令
$this->db->reconnect();

答案 3 :(得分:1)

您必须重新连接到数据库

$this->db->reconnect();

答案 4 :(得分:0)

$db['default']['dbdriver'] = 'mysql';

将其更改为

$db['default']['dbdriver'] = 'mysqli';