function query($sql, $returnType) { if($this->prepared == false) { $this->prepare($sql); } //echo "\n SQL call = " . $sql . "\n"; $this->queries[] = $sql; $this->result = $this->connection->query($sql); //D::log($this->connection->error, 'db error'); D::log($sql, 'Sql call'); if(!empty($this->connection->error)) { D::report('There is something wrong with the sql.', $this->connection->error); } $this->prepared = false; //return $this->result->fetch_all(MYSQLI_ASSOC); $return = array(); switch ($returnType){ case 'object': while($value = $this->result->fetch_object()) { $return[] = $value; } //D::log($return); return $return; case 'assoc': while($value = $this->result->fetch_assoc()) { $return[] = $value; } return $return; case 'raw': return $this->result; default: return true; } }