如何修复此SQL查询以检查日期是否早于实际日期并且已过期并且可以删除?
我已经尝试过使用此代码,但似乎不起作用
<?php
$date = new DateTime();
$d = $date->format('Y-m-d');
$stmt = $this->db->prepare("DELETE FROM test_table WHERE _out = ? AND _out <= {$d}");
$stmt->execute(array($d));
?>
我也尝试过使用该查询,但是当对控制器进行ajax调用时,它似乎不起作用
$stmt = $this->db->prepare("DELETE FROM reservations WHERE check_out <= {$d}");
答案 0 :(得分:2)
在认真阅读了SQLite文档之后,我发现实现我的任务的最佳方法是在查询中使用date()
函数。我对这种数据库类型不太了解。所以这是我解决问题的方法
<?php
$stmt = $this->db->prepare('DELETE FROM test_table WHERE _out <= date()');
$stmt->execute();
?>
答案 1 :(得分:0)
<?php
$date = new DateTime();
$d = $date->format('Y-m-d');
$stmt = $db->prepare('DELETE FROM reservations WHERE check_out <= :out');
$stmt->bindValue(':out', 1, SQLITE3_TEXT);
$stmt->execute();
?>
使用?替换值,并在execute方法中传递赋值器。