Das Problem liegt in:
$query = $this->db->conn->prepare('SELECT value, param FROM ws_settings WHERE name = ?');
$query->bind_param('s', $setting);
Der prepare()
Methode kann false
zurückgeben und das solltest du prüfen. Warum es false
zurückgibt , vielleicht der Tabellenname oder Spaltennamen (in SELECT
oder WHERE
Klausel) sind nicht korrekt?
Erwägen Sie auch die Verwendung von etwas wie $this->db->conn->error_list
um Fehler zu untersuchen, die beim Analysieren der SQL aufgetreten sind. (Ich gebe gelegentlich die eigentlichen SQL-Anweisungszeichenfolgen aus und füge sie zum Testen auch in phpMyAdmin ein, aber da ist definitiv etwas schiefgegangen.)