Mysqli абстракция, выборка массивов из подготовленных операторов

В последнее время я наткнулся на ошибку в библиотеке, которая работала нормально, и я буду проклят, если смогу выяснить, где она находится.

Пример кода приведен ниже, и я прошу прощения за отладочные материалы, которые внутри него, но я пытаюсь заставить его работать.

Проблема в том, что $ temp - это массив с правильным ключом (именем столбцов), но все значения равны NULL.

Я думаю, что проблема заключается в

call_user_func_array(array($query, 'bind_result'), $params);

немного, но не могу действительно обернуть мою голову вокруг этого.

public function fetchRows(){
    error_reporting(E_ALL+E_NOTICE);
    $args = func_get_args();
    $sql = array_shift($args);
    traceVar($sql, "Query");
    $colTypes = array_shift($args);
    if (!$query = $this->prepare($sql, $colTypes)) {
        die('Please check your sql statement : unable to prepare');
    }
    if (count($args)){
        traceVar($args,'Binding params with');
        call_user_func_array(array($query,'bindParam'), $args);
    }

    $query->execute();

    $meta = $query->result_metadata();
    while ($field = $meta->fetch_field()) {
        $params[] = &$row[$field->name];
    }
    traceVar($params,'Binding results with');
    call_user_func_array(array($query, 'bind_result'), $params);

    while ($query->fetch()) {
        traceVar($row,'After fetch');
        $temp = array();
        foreach($row as $key => $val) {
            $temp[$key] = $val;
        } 
        $result[] = $temp;
    }

    $meta->free();
    $query->close(); 
    //self::close_db_conn(); 
    return $result;
}

Ответы на вопрос(2)

Ваш ответ на вопрос