Откуда берется указанная переменная в следующем фрагменте кода bind_result? - PullRequest
1 голос
/ 16 января 2012

Я изучаю подготовленные операторы с помощью mysqli, и у меня возникают проблемы с выяснением, откуда берется переменная $row в следующем коде, первоначально опубликованном hamidhossain в комментарии к mysqli_bind_resultСтраница справочника (см. ссылку для полного кода).

if ($stmt = $mysqli->prepare("SELECT * FROM sample WHERE t2 LIKE ?")) { 
    $tt2 = '%';
    $stmt->bind_param("s", $tt2); 
    $stmt->execute(); 

    $meta = $stmt->result_metadata();
    while ($field = $meta->fetch_field())
    {
        # Where does $row come from?
        $params[] = &$row[$field->name];
    } 

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

    while ($stmt->fetch()) { 
        foreach($row as $key => $val) 
        { 
            $c[$key] = $val; 
        } 
        $result[] = $c; 
    } 

    $stmt->close(); 
} 

В полном коде первый раз, когда переменная $ row упоминается в строке:

$params[] = &$row[$field->name];

Где находитсяэта переменная $ row взята?Я понимаю, что вы должны использовать call_user_func_array(), но я не понимаю, откуда берется переменная $ row.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...