升级后 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
对象存在问题,但是 - 再一次 - 它不一致且令人困惑。
解决步骤:
- 已尝试跨环境获取版本奇偶校验
- 回滚 apt-get 升级
- 重新进行 apt-get 升级
- 将 Codeigniter 从 3.1.3 升级到 3.1.5
- 谷歌搜索
我被难住了。感谢任何帮助或见解。
进行了更多挖掘,并能够在 MySQL 中获得更多错误消息。这把我带到这里:Disable ONLY_FULL_GROUP_BY.
按照步骤操作并解决了问题。
潜伏已久,第一次提问。
快速版: 在 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
对象存在问题,但是 - 再一次 - 它不一致且令人困惑。
解决步骤:
- 已尝试跨环境获取版本奇偶校验
- 回滚 apt-get 升级
- 重新进行 apt-get 升级
- 将 Codeigniter 从 3.1.3 升级到 3.1.5
- 谷歌搜索
我被难住了。感谢任何帮助或见解。
进行了更多挖掘,并能够在 MySQL 中获得更多错误消息。这把我带到这里:Disable ONLY_FULL_GROUP_BY.
按照步骤操作并解决了问题。