我正在尝试从数据库中获取所有用户信息,并检查时间戳(四天),并检查它与时间现在我有工作的时间位,但我不能让它发送到所有的时候,时间是>四天
$result1 = mysql_query("SELECT * FROM accounts") or die (mysql_error());
while ($row1 = mysql_fetch_array($result1)) {
$users_email = $row1['email'];
$user_name = $row1['user'];
$days_time = $row1['fourteendays'];
if($timenow > $days_time){
mail( $users_email, $subject, $emailbody, $headers);
echo "email sent!";
}
}发布于 2009-10-23 10:50:31
我建议在SQL中进行日期比较,而不是拉回查询中的所有数据:
SELECT * FROM accounts WHERE DateDiff(Now(), fourteendays) > 14另外,数据库中该列中的内容是什么?如果它是一个时间戳,为什么你不这样叫它呢?我是不是遗漏了什么?
发布于 2009-10-23 10:48:43
试试看。这大于或等于14天。
if($timenow >= $days_time){
mail( $users_email, $subject, $emailbody, $headers);
echo "email sent!";
}此外,SELECT *也是一种不好的做法。您应该只选择在该查询中需要的字段。
发布于 2009-10-23 11:30:36
我假设您已经在脚本中的某个位置设置了'$timenow‘变量,并且我会确保在比较时检查两个时间格式是否相同。这是我过去的问题。
有关与日期相关的php信息,请访问以下链接
http://ca.php.net/manual/en/function.date.php
https://stackoverflow.com/questions/1611159
复制相似问题