php - 删除语句不删除记录

标签 php mysql pdo

我正在使用 pdo,并且尝试删除日期(过期)小于当前日期的记录。实际上,我制作了一个自动绑定(bind)值的小 pdo 包装器,这就是语句:

DELETE FROM auth_tokens WHERE expires < :currentTime;"

我将表名、wehre 子句和绑定(bind)参数传递给删除函数,特别是:

public function delete($table, $where, $bind = "")
{
    $sql = "DELETE FROM " . $table . " WHERE " . $where . ";";
    $this->run($sql, $bind);
}

run 函数将绑定(bind)数据并执行语句:

binding result: [":currentTime"]=> string(27) "09-12-2016 21:21:56.7358640"

问题是没有记录被删除。您如何看到我正在尝试删除过期时间小于当前时间的所有记录:09-12-2016 21:21:56.7358640

为什么?

最佳答案

如果您使用标准 DATETIME 数据类型,则您的日期格式似乎不正确。尝试将其格式化为 YYYY-MM-DD HH:MM:SS

关于php - 删除语句不删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41068399/

相关文章:

php - 无法将此表单 php 发布到 mysql

php - fatal error : Uncaught exception 'PDOException' with 2 queries

php - 如何在数据库类中创建插入函数以插入具有多个列和多个值的新记录(使用 PDO )?

php - 如何在准备好的语句中使用文字?

php - 从 2 个表中选择项目的总值并更新另一个表的值(复杂查询)

javascript - 将裁剪后的图像发送到客户端上的 ajax 数据库和服务器上的 PHP

mysql - 具有 null 的父级不会在自引用表中删除

mysql - 使用 select 中的字符串选择 mysql 中的特定列

php - 在 MVC 网站中验证和处理表单提交的位置

如果短时间内调用两次 PHP MySQL 更新不执行