问题是我想获取特定日期的数据。
这是我的表格
<form>
<label>Enter the date</label>
<input type="date" name="date">
</form>
if(isset($_POST['submit']))
{
$date = $_POST['date'];
$query = "select * from user_date where date ='$date' ";
}
在数据库日期列(时间戳类型)中,如果我编写此代码,则此代码不起作用,因为我没有通过时间。如果我通过时间,则此代码可以工作。
最佳答案
首先,您的代码对SQL injection开放相关的攻击。请学会使用Prepared Statements
现在,这里的问题是 $date
值只是日期(例如:2018-11-10
),而不是日期时间;而表的 date
列是日期时间(Timestamp
数据类型)。
您需要使用Date()
函数将您的日期
列转换为仅日期,以供检查
$query = "select * from user_date
where DATE(date) = '" . $date . "'";
关于php - 在 PHP 中,我想按数据库日期列中的日期过滤数据(时间戳类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53236336/