O problema está em:
$query = $this->db->conn->prepare('SELECT value, param FROM ws_settings WHERE name = ?');
$query->bind_param('s', $setting);
O
prepare()
método pode retornar false
e você deve verificar isso. Por que ele retorna false
, talvez o nome da tabela ou os nomes das colunas (em SELECT
ou WHERE
cláusula) não estão corretas? Além disso, considere o uso de algo como
$this->db->conn->error_list
para examinar erros que ocorreram ao analisar o SQL. (Ocasionalmente, ecoarei as strings de instrução SQL reais e colarei no phpMyAdmin para testar também, mas definitivamente há algo falhando lá.)