我正在尝试在字段end_date中选择小于或等于当前日期但不起作用的日期,并且我的字段end_dame为与当前日期相同的日期格式(2014年9月8日)。下面的数据是我的代码,感谢
$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'];
}
尝试这个
SELECT * FROM location WHERE end_date <= DATE_FORMAT(CURDATE(), '%Y-%m-%d')
尝试使用-
SELECT * FROM location WHERE end_date <= DATE_FORMAT(CURDATE(), '%d-%m-%Y')
$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'];
}
试试这个。。。必须具有数据库中的日期格式;;
如果您的当前日期与系统日期无关(例如,如果您在不同的时区操作),并且由于某种原因,您的end_date不是日期类型,那么请尝试以下操作:
SELECT * FROM location
WHERE str_to_date(end_date, '%d-%m-%Y') <= str_to_date('$currentdate', '%d-%m-%Y')
其中可以更改格式以匹配您的输入。
如果要比较日期,请确保比较的是日期,而不是字符串。