問題は次のとおりです。
$query = $this->db->conn->prepare('SELECT value, param FROM ws_settings WHERE name = ?');
$query->bind_param('s', $setting);
prepare()
メソッドはfalseを返すことができます それを確認する必要があります。 falseを返す理由について 、おそらくテーブル名または列名(SELECT内) またはWHERE 条項)は正しくありませんか?
また、 $this->db->conn->error_list
SQLの解析で発生したエラーを調べるため。 (実際のSQLステートメント文字列をエコーしてphpMyAdminに貼り付けてテストすることもありますが、間違いなく何かが失敗しています。)