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'];
}