引用的变量来自以下bind_result代码片段?

时间:2012-01-16 18:27:41

标签: php mysqli

我正在学习使用mysqli的预备语句,而我在查看变量$row来自以下代码的位置时遇到了问题,最初由hamidhossain在comment on the 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的来源。

0 个答案:

没有答案