【发布时间】:2015-01-02 17:48:40
【问题描述】:
我知道有很多关于 MySQL 的“服务器已消失”错误的话题,但这个似乎是随机发生的,并且处于不利的条件下。
我正在使用 CodeIgniter 3.0。在我所做的研究中,我发现someone else with this problem 使用了这个框架,但这个问题从未得到解决。他/她说这是 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
这个问题完全是随机的,所以如果不修复它,我就无法完成这个应用程序。非常奇怪的是,即使报告了这个问题,数据库中的所有数据都会毫无问题地加载。
一切都在我的电脑上运行 - 本地主机。
【问题讨论】:
标签: php mysql codeigniter