功能齐全的CodeIgniter应用程序已将MySQL数据库从服务器A迁移到服务器B.
自迁移以来,以下代码抛出错误:
$part = $this->db->select('')
->where('id', $part_id)
->limit(1)
->get('part')
->first_row('array');
确切的PHP 错误:
消息:调用未定义的方法CI_DB_mysqli_driver :: first_row()
根据文档,first_row('array')绝对是一种有效的方法:https://www.codeigniter.com/userguide3/database/results.html#result-rows
此外,此应用程序已在生产中工作数月,因此错误明确与迁移数据库相关联。
问题 可能在新数据库服务器上错误配置导致此错误的原因是什么?
注1:迁移数据库后,出于某种原因,以前使用驼峰(例如documentId)的所有表名和列名都以某种方式转换为小写。
注2:将查询结果用作数组(这在CodeIgniter中很常见)会引发错误,例如Message: Cannot use object of type CI_DB_mysqli_driver as array
。