El problema radica en:
$query = $this->db->conn->prepare('SELECT value, param FROM ws_settings WHERE name = ?');
$query->bind_param('s', $setting);
El prepare()
el método puede devolver false
y deberías comprobarlo. En cuanto a por qué devuelve false
, tal vez el nombre de la tabla o los nombres de las columnas (en SELECT
o WHERE
cláusula) no son correctas?
Además, considere el uso de algo como $this->db->conn->error_list
para examinar los errores que ocurrieron al analizar el SQL. (Ocasionalmente, hago eco de las cadenas de sentencias SQL reales y las pego en phpMyAdmin para probarlas también, pero definitivamente hay algo que falla allí).