我正在尝试在字段end_date中选择小于或等于当前日期但不起作用的日期,并且我的字段end_date与下面的当前日期相同的日期格式(08-09-2014)数据是我的代码感谢
$currentdate = date("d-m-Y");
$query1 = "SELECT * FROM location WHERE end_date <= '$currentdate'";
$result1 = mysql_query ($query1) or die('query error');
while( $line1 = mysql_fetch_assoc($result1)){
echo $line1['end_date'];
}
答案 0 :(得分:1)
试试这个
SELECT * FROM location WHERE end_date <= DATE_FORMAT(CURDATE(), '%Y-%m-%d')
答案 1 :(得分:0)
尝试 -
SELECT * FROM location WHERE end_date <= DATE_FORMAT(CURDATE(), '%d-%m-%Y')
答案 2 :(得分:0)
$currentdate = date("Y-m-d");
$query1 = "SELECT * FROM location WHERE `end_date` <= '$currentdate'";
$result1 = mysql_query ($query1) or die('query error');
while( $line1 = mysql_fetch_assoc($result1)){
echo $line1['end_date'];
}
试试这个...必须具有数据库日期格式;;
答案 3 :(得分:0)
SELECT * FROM location WHERE end_date <= NOW();
答案 4 :(得分:0)
如果您的当前日期与系统日期无关(例如,如果您在不同时区操作),并且由于某种原因,如果您的end_date不是日期类型,请尝试以下操作:
SELECT * FROM location
WHERE str_to_date(end_date, '%d-%m-%Y') <= str_to_date('$currentdate', '%d-%m-%Y')
可以更改格式以匹配您的输入。
如果您想比较日期,请确保您要比较 日期 而不是字符串。