存储过程PHP


Stored Procedures PHP

My存储过程仅适用于第一次迭代。我的代码:

// Display Event
$result = mysql_query("select ....",$connection_mercury);
while($row = mysql_fetch_array($result))
{
    $id = $row['id'];
    $provider = $row['name'];
    $details = mysql_query("CALL $my_schema_to_use.getRefId($provider);",$connection);
    while($b_row = mysql_fetch_array($details))
    {
        $details_result = $b_row['age'] . " - " . $b_row['address'];
    }
    echo "<td>$details_result</td><td>$id</td>
}

假设外部while循环按预期执行2个循环。但是"CALL"每次只在第一个循环中返回一个值。对于第一个循环之后的任何循环,$details变量始终保持为空。

$details_result-variable用内部循环覆盖。

while($b_row = mysql_fetch_array($details))
    {
        $details_result = $b_row['age'] . " - " . $b_row['address'];
    }

代码应为

while($b_row = mysql_fetch_array($details))
{
    $details_result[] = $b_row['age'] . " - " . $b_row['address'];
}