prepare('SELECT a.-6ren">
gpt4 book ai didi

php - 如何使用 PHP Date ("Y-m-d"评估 MySQL NOW() 字段)?

转载 作者:行者123 更新时间:2023-12-01 00:40:20 26 4
gpt4 key购买 nike

我在使用 PHP Date("Y-m-d") 评估 MySQL NOW() 生成的字段 attend_date 时遇到问题。

我的代码:

$stmt = $db->prepare('SELECT a.attendeeid, fname, lname, a.groupid, a.memberid, s.attendeeid, suspend
FROM attendees AS a
JOIN suspended AS s ON a.attendeeid = s.attendeeid
WHERE a.memberid = :memberid
AND suspend = "N"
AND a.groupid = :groupid
ORDER BY lname');
$stmt->bindValue(':memberid', $_SESSION["memberid"], PDO::PARAM_INT);
$stmt->bindValue(':groupid', $_POST['groupid'], PDO::PARAM_INT);
$stmt->execute();
$result = $stmt->fetchAll();
foreach($result as $row){
$id = $row[0];
$stmt = $db->prepare('SELECT historyid, attend_date, attendeeid
FROM history
WHERE attendeeid = :id
ORDER BY historyid
DESC LIMIT 1');
$stmt->bindValue(':id', $id, PDO::PARAM_INT);
$stmt->execute();
$result = $stmt->fetchAll();
foreach($result as $row) {
if(Date("Y-m-d") != $row['attend_date']){ ... }

最后一行根本没有评估。有人看到我做错了什么吗?

最佳答案

now() 产生一个日期时间值,例如yyyy-mm-dd hh:mm:ss,然后您将其作为字符串与仅限日期的值进行比较,因此

yyyy-mm-dd hh:mm:ss == yyyy-mm-dd

永远不会相等。除此之外,为什么要在 php 中进行过滤?遍历整个数据库然后丢弃 PHP 中的一些/大部分/所有记录是没有意义的。直接在 MySQL 中进行过滤:

SELECT ... WHERE attend_date = curdate();

关于php - 如何使用 PHP Date ("Y-m-d"评估 MySQL NOW() 字段)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34136539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com