ci_sessions テーブルが破損し、エラー + raw SQL が Web サイトに表示されるという問題が発生しました。
db_debug を false に設定すると、応答ヘッダーが 200 の空白の画面が表示されます。これをオーバーライドして、わかりやすいページを表示するにはどうすればよいですか?
ci_sessions テーブルが破損し、エラー + raw SQL が Web サイトに表示されるという問題が発生しました。
db_debug を false に設定すると、応答ヘッダーが 200 の空白の画面が表示されます。これをオーバーライドして、わかりやすいページを表示するにはどうすればよいですか?
まず第一に、(あなたが言ったように)生のSQLデータを表示し、セキュリティの点であまりきれいではないので、に目を向けるdb_debug
ことをお勧めします.false
つまり、を使用して SQL のエラー メッセージを表示できます$this->db->_error_message()
。
それをIF条件として使用して、他のページを表示したり、他のことをしたりします。
$this->db->get("any table"); // this is where your original db statement goes
if ($this->db->_error_message()) {
return false; // you can do this, or show another view, or anything
}
注:$this->db->_error_message()
は公式にサポートされている関数ではなく、CI の将来のバージョンで変更される可能性があります。ですから、そこだけ注意してください。