2017-07-27 15 views
1

長時間のlurker、初めての質問者。Codeigniterアップグレード後のクエリービルダーオブジェクトエラー

クイックバージョン: apt-getアップグレード後にLAMPサイトで500のエラーが発生しました。これは、Codeigniterのクエリビルダーに最もよくトレースできます。

ロングバージョン:

コードベース:CodeIgniterの3.1.5(トラブルシューティングの一部としてアップグレード)

ローカル環境(正常に動作します):XAMPP 7.0.3/7.0.21 PHP/MariaDB 10.1 0.25

生産環境(リターン・エラー):PHP 7.0.21/MySQLの版14.14 按分5.7.19

ページによっては、HTTPエラー500が発生します。

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オブジェクトに問題があることを示していますが、矛盾していて混乱しています。

手順は解決します

  • は3.1.3からapt-getをアップグレード
  • アップグレードの再でしたapt-getを
  • アップグレードCodeIgniterのロールバック
  • 環境全体でバージョンパリティを取得しようとしました〜3.1.5
  • 複数のグーグルがありました

私は困惑しています。どんな助けや洞察も感謝しています。

答えて

1

MySQLでさらに掘り起こし、さらにエラーメッセージを受け取ることができました。これはここに私を導きます:Disable ONLY_FULL_GROUP_BY

手順を実行して問題を解決できました。

関連する問題