问题是我想在特定日期获取数据。
这是我的表格
<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' ";
}
在数据库日期列(时间戳类型)中,如果我编写此代码,则此代码不起作用,因为我没有打发时间。如果我打发时间,则此代码起作用。
答案 0 :(得分:0)
首先,您的代码对SQL injection相关的攻击开放。请学习使用Prepared Statements
现在,这里的问题是$date
的值仅是日期(例如:2018-11-10
),而不是日期时间;而表的date
列是日期时间(Timestamp
数据类型)。
您需要使用Date()
函数将date
列仅转换为日期,以进行检查
$query = "select * from user_date
where DATE(date) = '" . $date . "'";