时事通讯适用于mysql_connect但不适用于PDO

时间:2017-08-31 09:26:26

标签: php 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: newsletter@test.abc' . "\r\n" .
          'Replay-To: anfrage@test.abc';

$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: newsletter@test.abc' . "\r\n" .
          'Replay-To: anfrage@test.abc';

$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  />";
}

?>

1 个答案:

答案 0 :(得分:-1)

在pdo端,您还需要获取查询。这样做:

$ pdo-&GT;查询(SQL $) - &GT;使用fetchall()