在獲取Swift「setTo」以接受來自MySQL查詢的數組時遇到了麻煩。下面的代碼只發送給結果集/列表中的最後一個人。已經閱讀了至少一堆相關的線程和Swift中的文檔,但他們似乎只是展示瞭如何對代碼進行硬編碼或做出了很多假設。希望得到一個更完整的例子,它可以幫助那些不是百分百使用Php數組並傳遞給Swift的人。麻煩從PHP/MySQL查詢傳遞數組到SwiftMailer
[...php connection code...]
// query email addresses
$sql = 'select emailaddress from customerlist;';
$result = mysql_query($sql);
if($result === FALSE) {
die(mysql_error()); // ToDo: better error handling
}
// create array from results
$cDistribArray = array();
while($rowEmail = mysql_fetch_assoc($result)) {
$cDistribArray = $rowEmail['emailaddress'];
}
[edit: issue was code above, CORRECTED below, thanks Sven]
// create array from results
$cDistribArray = array();
while($rowEmail = mysql_fetch_assoc($result)) {
$cDistribArray[] = $rowEmail['emailaddress'];
}
[...skip to Swift message create code...]
$message = Swift_Message::newInstance('Subject')
->setFrom(array('[email protected]' => 'Sender Name'))
->setTo($cDistribArray)
->setBody($cEmailBody,'text/html');
我敢肯定這件事情很明顯,我做錯了與陣列但閱讀關於如何創建陣列和斯威夫特和收件箱已滿測試消息,只有有當我多個地址的許多文章後硬代碼......卡住了!希望提供任何援助。
除了*'功能被棄用,你會錯過'emailaddress'後的''''。 –
在模擬中得到了糾正,但這不是問題,結果集恢復正常,因爲我可以回顯個別結果並全部顯示。問題似乎是1.)讓Swift「看到」數組中的所有行,或者,不知何故,我沒有將所有行傳遞給數組? – TransitDataHead