升级后 Codeigniter 查询生成器对象错误

Codeigniter Query Builder Object Error After Upgrade

潜伏已久,第一次提问。

快速版: 在 apt-get 升级后,我在 LAMP 站点上收到 500 个错误,我最好将其追溯到 Codeigniter 的查询生成器。

长版:

代码库:Codeigniter 3.1.5(作为故障排除的一部分升级)

Local environment (works fine): XAMPP 7.0.3 / PHP 7.0.21 / MariaDB 10.1.25

Production environment (returns error): PHP 7.0.21 / MySQL Ver 14.14 Distrib 5.7.19

根据页面的不同,我收到 500 HTTP 错误。日志显示此的各种版本:

PHP Fatal error:  Call to a member function result() on a non-object in /var/www/application/models/Model.php on line xxx

这些错误中的每一个都涉及一段类似于以下内容的 Codeigniter 查询生成器代码:

$query = $this->db->query([some query]);
return $query->result();

$this->db->group_by([some other field]);
$query = $this->db->get();
return $query->result();

虽然 $this->db->group_by() 似乎很受欢迎,但我在查询构建器的使用过程中找不到任何一致的模式。

每个错误都表明 query 对象存在问题,但是 - 再一次 - 它不一致且令人困惑。

解决步骤:

我被难住了。感谢任何帮助或见解。

进行了更多挖掘,并能够在 MySQL 中获得更多错误消息。这把我带到这里:Disable ONLY_FULL_GROUP_BY.

按照步骤操作并解决了问题。