MySQL查询导致页面损坏

mysql query causes page to get corrupted

提问人:Eli Hoto 提问时间:8/9/2020 更新时间:8/9/2020 访问量:41

问:

crud_model:

public function get_latest_courses($all_lang = NULL) {
    $this->db->where('status', 'active');
    if($all_lang == NULL):
        $this->db->where('language', $this->session->userdata('lang'));
-->     $this->db->order_by('id', 'ASC');
    else:
        $this->db->order_by('language','ASC');
    endif;
    $data = $this->db->get('course');
--> if($data){
        return $data;
    }else{
        return $this->db->error();
    }
  }

出于某种原因添加后:

$this->db->order_by('id', 'ASC');

90% 的时间一切正常,10% 的时间会导致查询失败并返回error 500;

我直接在phpmyadmin上运行了这个查询:

select * from `course` Where `status` = 'active' AND `language` = 'hebrew' order by `id` ASC

它花了 0.0005 秒,这并不是真正指向缓慢的查询操作,

我添加了一个条件来尝试获取 MySQL 错误,但看起来在order_by之后它退出了 代码(显示 500 错误)并且永远不会到达 if 语句。

php mysql codeigniter mysqli

评论

1赞 M. Eriksson 8/9/2020
检查您的 Web 服务器错误日志,了解 500 错误的实际情况。
0赞 Eli Hoto 8/9/2020
@MagnusEriksson,服务器错误日志为空(未检测到错误)
1赞 M. Eriksson 8/9/2020
然后检查您的php.ini并确保设置为 。调试时,还可以设置为(除非它在公共服务器上)以直接在屏幕上查看实际错误消息。您需要找到错误消息,因为这将是失败的线索。发布的代码中没有任何内容会导致它。error reportingE_ALLdisplay errorsOn
0赞 Eli Hoto 8/9/2020
@MagnusEriksson 添加了两者(报告和显示),再次错误日志为空,没有显示错误
1赞 M. Eriksson 8/9/2020
更新php.ini后,您是否重新启动了 Web 服务器(如果您使用的是 apache)或 php-fpm(如果不使用 apache)?是正确的吗?您需要弄清楚如何在您的环境中查找日志记录,因为这是必需的。

答: 暂无答案