public function fetchResult()
{
$params = array();
$bindParams = array();
$rows = array();
$metaData = $this->statement->result_metadata();
if ($metaData !== false) {
foreach ($metaData->fetch_fields() as $col) {
${$col->name} = null;
$bindParams[] =& ${$col->name};
$params[] = $col->name;
}
call_user_func_array(array($this->statement, 'bind_result'), $bindParams);
while (($row = $this->statement->fetch()) != false) {
$ary = array();
foreach ($bindParams as $dbColumnName => $dbColumnValue) {
$ary[$params[$dbColumnName]] = $dbColumnValue;
}
$rows[] = $ary;
}
}
return $rows;
}