【问题标题】:PHP SQL delete from where date < current date? [closed]PHP SQL从哪里删除日期<当前日期? [关闭]
【发布时间】:2014-07-11 15:41:40
【问题描述】:

我的数据库中有一个名为 expire_datetime_off 的表。它的格式是 2014-07-11 00:00:00 如果该日期在当前日期之前,我想删除该行。我在 Magento PHP 中有一个当前日期的变量。我想不通。任何帮助表示赞赏

public function onclearAction()
{
    $mysqli=mysqli_connect("IP","NAME","PASSWORD","SCHEMA");
    if ($mysqli->connect_errno) {
        return $mysqli->connect_error;
    }
    $currenttime = strtotime(Mage::getModel('core/date')->date('Y-m-d H:i:s'));
    mysqli_query($mysqli,"DELETE FROM belvg_countdown WHERE expire_datetime_off < convert(datetime, '$current_time')");
}

【问题讨论】:

  • 我无法理解这个问题。你能给我更多的细节吗?尝试将 sql delete 语句更改为 select * 并检查是否返回任何记录。

标签: php sql magento date datetime


【解决方案1】:

可以使用数据库当前时间:

DELETE FROM belvg_countdown
    WHERE expire_datetime_off < now();

【讨论】:

  • 这条语句在 mysql 工作台中完美运行,但是当我出于某种原因将它添加到我的代码中时,该行不会删除
【解决方案2】:

It's format is 2014-07-11 00:00:00

如果是这种格式,则无需转换以进行比较

$currenttime = Mage::getModel('core/date')->date('Y-m-d H:i:s');
mysqli_query($mysqli,"DELETE FROM belvg_countdown WHERE expire_datetime_off <  '$current_time'");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    • 1970-01-01
    相关资源
    最近更新 更多