-2
<html>
<body>
<?php

include 'index.php';
include '../db.php';
$query_email = "SELECT email FROM email_addresses"; 
$result_query_email = mysqli_query($query_email)
or die(mysqli_error());

while ($row = mysqli_fetch_array()($result_query_email)) {

//$email_user = $row[10];
$email_user = $row['email'];

$data = date("Y.m.d");
$subject = "Good news";
$message = ("Hello!");

$sentemail = mail($email_user, $subject, $message, 
"From: abc <xyz.com>\nX-Mailer: PHP/" . phpversion());
}
if($sentemail) 
{

    print("Email has been sent successfully.<br>");
}
else
{
  print("There was a problem while sending email.<br>");
}

?>

</body>
</html>

此代码用于从数据库中选择电子邮件地址并向他们发送电子邮件。我的代码有什么问题,我无法收到任何电子邮件,将不胜感激。谢谢!

4

3 回答 3

3

设置error_reportingdisplay_errors来发现里面有)缺失

while (mysql_fetch_array($result_query_email) {

于 2012-11-27T16:30:02.583 回答
3

这条线在这里

while (mysql_fetch_array($result_query_email)

您需要将返回值分配mysql_fetch_array()给一个变量,以便能够在while()循环中使用它以及缺少的关闭)

例如

while ($emaildata = mysql_fetch_array($result_query_email)) {
{
    $email_user = $emaildata['email'];
 //.....rest of code

请不要mysql_*在新代码中使用函数。它们不再被维护并且弃用过程已经开始,见红框。改为学习准备好的语句,并使用PDOMySQLi本文将帮助您决定哪个。如果您选择 PDO,这里有一个很好的教程

编辑

此外,您似乎正在尝试将变量用作您需要使用的关联数组,mysql_fetch_assoc()而不是mysql_fetch_array()这样做

于 2012-11-27T16:30:19.543 回答
0

如果您没有在源代码中提供,请在您的服务器 PHP.ini 中设置正确的 SMTP 服务器地址。

于 2012-11-27T16:28:39.090 回答