2013-03-30 37 views
0

這裏的每一行創建新的PHP郵件的實例是PHP的:如何在陣列

mysqli_connect("path","my_db","password")or die(); 
mysqli_select_db("my_db")or die(); 
$query="SELECT * FROM table WHERE type = '$var' OR type = '$othervar'"; 
$result=mysqli_query($query); 
$num=mysqli_numrows($result); 
mysqli_close(); 
$i=0; 
while ($i < $num) { 
$email=mysqli_result($result,$i,"email"); 
$i++; 

if (!empty($email)) { 
mail($email, $subject, $body, $headers); 
} 

我離開了腳本分配值$主題,等等。因爲我能當成功發送電子郵件有隻有1個電子郵件地址從查詢返回。

但是,當查詢返回多個電子郵件地址時,我無法發送任何內容。

非常感謝您的幫助!

+0

$電子郵件= mysql_result($結果,$ I, 「電子郵件」); 嘗試使用mysqli_result –

+0

好的趕上!仍然不起作用:( – user1473497

+0

放一些回聲,看看是否一切都如預期。回聲$我在你的while循環,回聲$電子郵件,和$ num看到你實際上從數據庫中獲取一些數據。 –

回答

0

將「GROUP BY ...」添加到我的查詢結束爲我工作。因爲我是一個總的業餘愛好者,我不知道爲什麼:)

最終代碼:

mysqli_connect("path","my_db","password")or die(); 
mysqli_select_db("my_db")or die(); 
$query="SELECT * FROM table WHERE type = '$var' OR type = '$othervar' GROUP BY email"; 
$result=mysqli_query($query); 
$num=mysqli_numrows($result); 
mysqli_close(); 
$i=0; 
while ($i < $num) { 
$email=mysqli_result($result,$i,"email"); 
$i++; 

if (!empty($email)) { 
mail($email, $subject, $body, $headers); 
}