Php 3个月后发送电子邮件提醒
我有一个数据库和一个网站,注册用户可以在那里下载“信息卡”到他们的智能手机上。 3个月后,他们必须将其返回数据库。我已经设置了一个cron作业,每24小时运行一次php脚本。但没有电子邮件输出。我到处寻找例子和教程,但到目前为止没有运气。 你们有人对可能出现的问题有什么建议吗Php 3个月后发送电子邮件提醒,php,mysql,email,cron,Php,Mysql,Email,Cron,我有一个数据库和一个网站,注册用户可以在那里下载“信息卡”到他们的智能手机上。 3个月后,他们必须将其返回数据库。我已经设置了一个cron作业,每24小时运行一次php脚本。但没有电子邮件输出。我到处寻找例子和教程,但到目前为止没有运气。 你们有人对可能出现的问题有什么建议吗 <!DOCTYPE html> <?php require_once 'includes/connect_database.php'; DatabaseConnect(); $sql = "SELE
<!DOCTYPE html>
<?php
require_once 'includes/connect_database.php';
DatabaseConnect();
$sql = "SELECT * FROM My_table WHERE downloaded = DATE(NOW() + INTERVAL 3 MONTH)";
if (false === ($result = mysqli_query($connection, $sql)) {
trigger_error('there was a query/sql problem', E_USER_ERROR);
}
if ($result->num_rows > 0) {
// Send email to user with expired info card
while ($row = mysqli_fetch_row($result)) {
// send email to user
mail($row['email'], 'The email Subject', 'The email message body');
sleep(2);
}
mysqli_free_result($result);
}
else {
// nothing to do today
}
手动运行脚本。
检查php错误。
在数据库或phpmyadmin中手动运行查询。
如果收到数据,请检查php脚本-开始调试脚本的逻辑。
如果看不到数据,则无需显示任何内容。
编辑:在您告诉我您尝试过并在mysql中获得结果后,而不是
while ($row = mysqli_fetch_row($result)) {
尝试使用
mysqli_fetch_assoc($result)
或
如果您只是手动运行php脚本,它是否正常工作?看来你错过了收场“在以$sql=
否开头的行中,php脚本不起作用。我试过在脚本中使用一个简单的邮件命令,它成功了。当你手动运行它时,你有没有收到任何PHP错误或警告?现在不是应该是-3个月吗?我得到一个空白屏幕。没有错,我试过你的建议了。我在mysql查询中收到数据。所以我的php脚本一定是问题所在。
mysqli_fetch_array($result, MYSQLI_ASSOC);