I am not an expert on mysqli stuff (I use a Connection class I found somewhere which provides functions like selectMultipleRows($query) and so on) but I will try to give a good answer here.
assuming you already have created a connection $this->connID
$mysqli = $this->connID;
$result = $mysqli->query($query);
$data = $result->fetch_all(MYSQLI_ASSOC);
//stuff I do to make my life easier:
$return = array();         //for scoping reasons
if (isset($data[0]['id'])) {
  foreach ($data as $value) {
    $return[$value['id']] = $value;
  }
} else {
  $return = $data;
}
as far as I am concerned this should work.
edit
my class Connection basically works like this:
$this->connID = new mysqli($this->server, $this->user, $this->pass, $this->database);
if ($this->connID→connect_errno) { //debug stuff
  var_dump($this->connID->connect_error);
}
$this->connID->set_charset("utf8");
I guess this is all you will need.