我想要在名爲sendMail
的函數中訪問在while循環中定義的$name
變量。我是否必須以某種方式將函數併入循環中?如何從PHP中的函數訪問while循環中的變量?
<?php
while ($row = mysql_fetch_assoc($result))
{
print_r($row); echo "<br><br>";
$name = $row['Name'];
$date = $row['sDate'];
$time = $row['sTime'];
$phone = $row['Phone'];
$email = $row['Email'];
sendMail($row['Email']);
$company = $row['Company'];
$course = $row['Course'];
$ref = $row['Reference'];
$optout = $row['optout'];
echo "<tr bgcolor=#ABB5F6>
<td>$name</td>
<td>$date</td>
<td>$time</td>
<td>$phone</td>
<td>$email</td>
<td>$company</td>
<td>$course</td>
<td>$ref</td>
<td>$optout</td>
</tr>";
}
// Mail to $to and $emailarray recipients
function sendMail($to)
{
$subject = 'Test mail';
$message = 'Hello'.$name; // I want $name from the while loop
$headers = array();
$headers[] = "From:" . "[email protected]";
$headerz = implode("\r\n", $headers);
mail($to, $subject, $message, $headerz);
}
?>
只需在while循環(在定義之後),在sendMail()內添加sendMail($ name),它將在$到var中。或者,您可以傳遞整個$行,以便擁有所有的值。 sendMail($ row) – somedev 2012-07-10 15:34:17
您可以訪問和設置變量,並調用函數,但不能調用變量。 mysql擴展已過時,正在棄用。新代碼應該使用mysqli或PDO,它們都具有重要的優點,例如支持預處理語句。 – outis 2012-07-10 15:44:27