代码点火器 'MySQL has Gone Away'
CodeIgniter 'MySQL has Gone Away'
我知道有很多关于 MySQL 的 "Server has gone away" 错误的话题,但是这个似乎是随机发生的,而且是在不利的情况下发生的。
我正在使用 CodeIgniter 3.0。在我所做的研究中,我发现 someone else with this problem 使用此框架,但该问题从未得到解决。 He/she 声明这是 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
这个问题完全是随机的,所以我无法在不修复它的情况下完成此应用程序。非常奇怪的是,即使报告了这个问题,数据库中的所有数据都可以毫无问题地加载。
一切都在我的 PC 上运行 - Localhost。
可能是您的 mysql 未配置为支持持久连接。尝试评论重新连接行或编辑 my.ini 并启用持久连接。
问候
我知道有很多关于 MySQL 的 "Server has gone away" 错误的话题,但是这个似乎是随机发生的,而且是在不利的情况下发生的。
我正在使用 CodeIgniter 3.0。在我所做的研究中,我发现 someone else with this problem 使用此框架,但该问题从未得到解决。 He/she 声明这是 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
这个问题完全是随机的,所以我无法在不修复它的情况下完成此应用程序。非常奇怪的是,即使报告了这个问题,数据库中的所有数据都可以毫无问题地加载。
一切都在我的 PC 上运行 - Localhost。
可能是您的 mysql 未配置为支持持久连接。尝试评论重新连接行或编辑 my.ini 并启用持久连接。
问候