CodeIgniter 'MySQL 已经消失了'


CodeIgniter 'MySQL has Gone Away'

我知道有很多关于MySQL的"服务器已经消失"错误的主题,但是这个似乎是随机发生的,并且处于不利的状态。

我正在使用CodeIgniter 3.0。在我所做的研究中,我发现其他人使用这个框架有这个问题,但这个问题从未得到解决。他/她说这是CodeIgniter的错,因为数据库与其他应用程序没有问题。

人们说这个问题通常是因为超时,但我认为数据量很少的超时。事实上,我尝试从中获取信息的表不超过 5 行。我只是在做一个SELECT * FROM table WHERE id = x所以我真的不认为那么多数据存在性能问题。

我的查询代码如下:

public function getArticleByRef($ref)
            {
                $this->db->reconnect();
                $article = array();
                $mods = array();
                $run = array();
                $supplier=array();
                $query = ($this->db->get_where('PABE_articles',array('Reference' => $ref),1));
                $article = $query->result_array();
                if(!$article)
                    return array('article' => null,'mods' => $mods,'run' => $run,'supplier'=>$supplier);
                $id = $article[0]['id'];
                $query = $this->db->get_where('PABE_mods',array('idarticle'=>$id));
                $mods = $query->result_array();
                $query = $this->db->select('*')
                    ->from('PABE_run')
                    ->where('idarticle', $id)
                    ->order_by('Color asc,Number asc')
                    ->get();
                $run = $query->result_array();
                $query = $this->db->get_where('PABE_supplieres',array('Reference' => $article[0]['Referencesupplier']));
                $supplier=  $query->result_array();
                return array('article' => $article,'mods' => $mods,'run' => $run,'supplier'=>$supplier);
            }

如您所见,我做了四个查询。再说一次,在这些表中,没有一个超过 5 行。

表的列数为:

Articles: 27
Supplier: 2
Run: 3
Mods: 4

这个问题是完全随机的,所以我无法在不修复它的情况下完成此应用程序。非常奇怪的是,即使报告了此问题,数据库中的所有数据也会毫无问题地加载。

一切都在我的电脑上运行 - 本地主机。

可能是

您的 mysql 未配置为支持持久连接。尝试注释重新连接行或编辑 my.ini并启用持久连接。

问候