用于检查当前日期是否比数据库中的日期新的php代码

标签 php mysql web

iam 使用 php 和 mysql 开发一个网站,我在这个领域确实是初学者。现在我陷入了一个必须检查当前日期是否比数据库中的日期更新的地方

所以我写了这样的代码,但它不起作用

$SQL = "UPDATE adverts SET active='0' WHERE enddate<NOW()";
$result = mysqli_query($con,$SQL);

在上面的代码中,“advert”是我的表名称,“enddate”是数据库中包含日期的列

有人可以帮我吗?

最佳答案

正如安东尼在评论中所述,最好检查您的查询是否在 PHPMyAdmin 中工作。无论如何,请访问 PHPMyAdmin -> SQL -> Run Query 。这样您就可以区分是MySQL 错误还是PHP 错误

 UPDATE adverts SET active = 0 WHERE ( enddate < NOW() ) 

我已将事件“0”设置为 0,只是因为我相信它将是 Integer字段 - 其次,您的 enddate 有一个微小但重要的差异:

date吗?字段或 datetime field ?见下文:

SELECT NOW(); // You will get 2010-12-09 17:10:18
SELECT CURDATE(); // You will get 2010-12-09

来源:MySQL Curdate() vs now()

您可以使用affected_rows()查看您的查询是否有效,但只是不满足任何条件

$sql = "UPDATE adverts SET active = 0 WHERE ( enddate < NOW() )";
$queried = mysqli_query( $con, $sql );
if ( mysqli_affected_rows( $con ) >= 1 ) {
     //We know some rows were effected.
}

关于用于检查当前日期是否比数据库中的日期新的php代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19207902/

相关文章:

php - phalcon php内置服务器打开失败需要.htrouter

mysql - 从 mysql 中的另一个表插入或更新

css - 在线聊天中 Web 共享的图像预览

javascript - 使用 javascript 通过表单发送对象

javascript - 下拉菜单打开另一个下拉菜单 - CodeIgniter

php - 如果套接字仍然连接,如果我没有套接字处理程序,如何检查 PHP?

php - 如何在foreach循环中分离数据列

mysql - 如何选择两个表中的数据

mysql - osCommerce 中产品属性的发票上仅显示前 32 个字符

linux - 如何在 Linux 中将更改后的文件上传到网站?