2017-08-31 38 views
-1

我想編寫簡報。 使用mysql_connect時事通訊確實有效;收到的電子郵件和我的回顯字符串與列出的電子郵件也工作 如果我想將它翻譯成PDO,任何電子郵件都會發送出去,並且沒有字符串可供查看,我也沒有收到任何錯誤消息。 (腳本中的德語字符串)時事通訊適用於mysql_connect,但不適用於PDO

<?php 
mysql_connect('localhost', 'name', 'pw') 
or die ("Verbindung fehlgeschlagen"); 
mysql_select_db('***') 
or die ("Datenbank nicht gefunden"); 
$betreff = 'Newsletter'; 
$nachricht = 'Sehr geehrte/geehrter ##anrede## ##vorname## ##nachname##,' . "\n\n" . 
       'der neue Newsletter ist da.'; 
$header = 'FROM: [email protected]' . "\r\n" . 
      'Replay-To: [email protected]'; 

$sql = "SELECT * FROM newsletter"; 
$erg = mysql_query($sql); 

$sqlemail = "SELECT email FROM newsletter"; 

$result = mysql_query($sqlemail); 
while($row = mysql_fetch_object($result)) { 
    $email = $row->email; 
    foreach ($row as $email) { 
     mail($email, $betreff, $nachricht, $header); 
     echo "Email versendet an $email <br />"; 
    } 
} 
?> 


<?php 
$pdo = new PDO('mysql:host=localhost;dbname=***', 'name', 'pw'); 

$betreff = 'Newsletter'; 
$nachricht = 'Sehr geehrte/geehrter ##anrede## ##vorname## ##nachname##,' . "\n\n" . 
       'der neue Newsletter ist da.'; 
$header = 'FROM: [email protected]' . "\r\n" . 
      'Replay-To: [email protected]'; 

$sql = "SELECT * FROM newsletter"; 
$erg = mysql_query($sql); 

foreach ($pdo->query($sql) as $row) { 
    $email = $row['email']; 
    mail($email, $betreff, $nachricht, $header); 
    echo "Email versendet an $email <br />"; 
} 

?> 
+0

,我得到了一個的mysql_connect頁面,另一個用於PDO – Alhevi

+1

我建議你讀了PDO教程/示例代碼,一個明顯的缺失一件事就是你需要實際獲取結果。 – ADyson

回答

-1

在pdo方面,您還需要獲取查詢。這樣做:

$ pdo->查詢($ SQL) - >使用fetchall()

+0

應該在foreach嗎? ($ pdo-> query($ sql)as $ row){ => foreach($ pdo-> query($ sql) - > fetchAll()as $ row){ ? – Alhevi

+0

是的。用我給你的東西代替 – Akintunde007

+0

如果它對你有幫助,請記住我的答案 – Akintunde007

相關問題