检查日期是否过期SQLite

时间:2018-09-20 02:56:10

标签: php mysql sql

如何修复此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}");

2 个答案:

答案 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方法中传递赋值器。