2015-01-13 56 views
0

我試圖創建一個由準備好的語句中昏迷而分開的電子郵件列表。PHP:創建一個由昏迷分隔的列表

   $prep_stmt = "SELECT m.email 
           FROM roster_par_membre rm 
           LEFT JOIN membre m 
             ON m.id_membre = rm.id_membre       
           WHERE id_roster = ? 
           "; 
       $stmt = $mysqli->prepare($prep_stmt);   
       if ($stmt) { 
        $stmt->bind_param('i', $roster_id); 
        $stmt->execute(); 
        $stmt->store_result(); 
        // get variables from result. 
        $stmt->bind_result($emails_roster); 
        $list = array(); (added) 
        while ($stmt->fetch()){ 
         $list[] = $emails_roster; 
        } 
        $list = implode(',', $list); 

輸出應該是沒有分色的電子郵件列表。 我怎樣才能得到一個可以直接用來發送電子郵件到這個列表的昏迷列表? 目前,我得到一個致命的錯誤:致命錯誤:[]不支持字符串操作符(用於而裏面的線

+3

我只想存儲電子郵件的數組,然後'破滅( '',$ emailArray)'循環 –

+1

使用['後。爆()'](http://php.net/manual/en/function.imp lode.php) –

+1

而不是打印循環中的值,將其添加到數組中。然後'implode()'那個數組。 –

回答

2

嘗試implode

while ($stmt->fetch()){ 
    $emails[] = $emails_roster; 
} 
$emails = implode(',', $emails); 
+0

感謝您的回答。我應該做錯了什麼,但是當我複製你的代碼時,我得到:致命錯誤:[]運算符不支持字符串 –

+1

然後,你以前已經爲字符串賦值爲'$ emails'。嘗試使用'$ list'或其他你尚未定義的東西。 – AbraCadaver

+0

我嘗試了不同的變量名,但仍然出現同樣的錯誤。 –

1

不知道如果我理解正確的話,但如果你的$emails_roster包含電子郵件然後只需追加!到一個數組:

$emails = []; 
while ($stmt->fetch()){ 
$emails[] = $emails_roster; 
} 

print_r($emails); 
echo implode(',', $emails);