检查日期是否过期sqlite

eqqqjvef  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(416)

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

ssm49v7z1#

在仔细阅读sqlite文档之后,我发现实现任务的最佳方法是使用 date() 函数。我不太熟悉这种数据库类型。下面是我如何解决这个问题的

<?php
   $stmt = $this->db->prepare('DELETE FROM test_table WHERE _out <= date()');
   $stmt->execute();
 ?>
bjg7j2ky

bjg7j2ky2#

<?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方法中传递值。

相关问题