mysql到php电子邮件设置
我正在尝试向mysql表中的一个电子邮件地址发送一封包含该行信息的电子邮件。我的代码在日期、时间和发送支票时停止。我不确定这条线。请看下面我的代码。这是一个PHP专用文件,因为它将成为一个cron作业 我的日期和时间由输入数据的人输入。 日期格式:2015-05-07 时间格式:14:32 我得到了这个错误 您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行的“:06 | | sent=NULL”附近使用的正确语法mysql到php电子邮件设置,php,mysql,email,Php,Mysql,Email,我正在尝试向mysql表中的一个电子邮件地址发送一封包含该行信息的电子邮件。我的代码在日期、时间和发送支票时停止。我不确定这条线。请看下面我的代码。这是一个PHP专用文件,因为它将成为一个cron作业 我的日期和时间由输入数据的人输入。 日期格式:2015-05-07 时间格式:14:32 我得到了这个错误 您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行的“:06 | | sent=NULL”附近使用的正确语法 <!DOCTYPE html PUBLIC "
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
require ('class.phpmailer.php');
require ('login.php');
$link = mysql_connect($REMINDER_DB_HOST, $REMINDER_DB_USER, $REMINDER_DB_PASSWORD);
if (!link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db($REMINDER_DB_NAME, $link);
if (!db_selected) {
die('Can\'t use ' . DB_NAME . ' : ' . msql_error());
}
$today = date("Y-m-d");
$now = date("H:i");
echo $today;
echo $now;
$sql = mysql_query("SELECT * FROM alert WHERE date < $today || time < $now || sent = NULL") or die(mysql_error());
while($row = mysql_fetch_assoc($sql)) {
$name = $row['name'];
$to = $row['email'];
$date = $row['date'];
$time = $row['time'];
$eslticket = $row['eslticket'];
$notes = $row['notes'];
$mail = new PHPMailer;
$g_smtp_connection_mode = 'ssl';
$g_phpMailer_method = 2;
$g_smtp_host = 'smtp.gmail.com';
$g_smtp_port = 465;
$g_smtp_username = $mailuser;
$g_smtp_password = $mailpassword;
$subject = 'ESL Ticket Reminder: ' .$eslticket;
$msg = 'Good Day, '.$name.'\n'.'You have requested an alert email to be sent to you about '.$eslticket.' on '.$date.' at '.$time.'. Please see below to review your notes on this ticket.'.'\n'.'\n'.$notes;
if(mail($to, $subject, $msg)) {
$sql = "INSERT INTO alert (sent) VALUES ('1')";
} else {
}
}
?>
</head>
<body>
</body>
</html>
$sql=mysql\u查询(“从警报中选择*日期<'$today'或时间<'$now'或sent=NULL”)或死亡(mysql\u错误());
replicate-欢迎再次发布。不要忘了点击答案左边的粗框将其设置为已解决。zeflex 2个问题:为什么它没有循环,为什么它没有在发送列中输入1?while($row=mysql\u fetch\u assoc($sql))
>>执行变量转储以检查$row的输出。2) 您正在调用PhpMailer,但您使用if(mail($to,$subject,$msg))
>而不使用PhpMailer。3) $sql=“插入警报(已发送)值('1')”
这很酷,但是mysql\u查询
指令在哪里?此外,我猜您更希望更新行,而不是插入新行。4) 慢慢来,一步一步地调试代码1)我的var_dump只给了我一行代码,2)我将我的邮件更新到$mail->addAddress($to)$邮件->主题='ESL票务提醒:'。$eslticket$mail->Body='Good Day,'.$name'.
。'您已请求在'.$date'和'.$time'向您发送一封有关'$eslticket'的提醒电子邮件。'。请参阅下面的内容,查看您在该车票上的备注。'
。'$notes;如果(!$mail->send()){echo'消息无法发送。;;echo'邮件错误:'.$mail->ErrorInfo;}其他{echo'消息已发送';$sql=“插入警报(发送)值('1')”;}1)是否返回一行?2) 关于phpmailer代码,我无法在这里的评论中阅读,太难了。但是为什么要使用插入而不是更新。。。哪里语法?您只需添加一个带有INSERT的条目,该条目与之前执行的SELECT查询无关。同样在$sql='之后插入。。。(最好使用更新)
,运行mysql\u查询($sql)代码>!
$sql = mysql_query("SELECT * FROM alert WHERE date < '$today' OR time < '$now' OR sent = NULL") or die(mysql_error());