$LDATE = '#' . $_REQUEST['LDateDay'] . '/' . $_REQUEST['LDateMonth'] . '/' . $_REQUEST['LDateYear'] . '#';
$RDATE = '#' . $_REQUEST['RDateDay'] . '/' . $_REQUEST['RDateMonth'] . '/' . $_REQUEST['RDateYear'] . '#';
include("../../sql.php");
$myconn2 = mysql_connect(/*removed*/, $username, $password);
mysql_select_db(/*removed*/, $myconn2);
$LSQLRequest = "SELECT * FROM flight WHERE DepartureDate = ".$LDATE;
$LFlights = mysql_query($LSQLRequest, $myconn2);
$RSQLRequest = "SELECT * FROM flight WHERE DepartureDate = ".$RDATE;
$RFlights = mysql_query($RSQLRequest, $myconn2);
假设所有$ _REQUEST都是日/月/年字段中相应字段的有效数值,LFlights和RFlights如何无效?当我查询整个数据库时,我得到了数百个结果,所以我知道数据库和连接数据很好,并且DepartureDate字段也存在。
编辑: 当我提取数据库的所有内容时,日期以“YYYY-MM-DD”格式返回。所以我将D转换为字符串,如果它是<10,那么0D。然后建立了一个字符串YYYY-MM-DD。仍然没有结果。现在没有错误,但没有结果。我精心挑选了我知道记录在其中的价值观。
答案 0 :(得分:1)
尝试在单个qoutes中查询查询中的日期和日期。
$LSQLRequest = "SELECT * FROM flight WHERE DepartureDate = '".$LDATE."'";
$RSQLRequest = "SELECT * FROM flight WHERE DepartureDate = '".$RDATE."'";
我也相信你不需要#符号。这通常是Access的事情。
$LDATE = $_REQUEST['LDateDay'] . '/' . $_REQUEST['LDateMonth'] . '/' . $_REQUEST['LDateYear'] ;
$RDATE = $_REQUEST['RDateDay'] . '/' . $_REQUEST['RDateMonth'] . '/' . $_REQUEST['RDateYear'] ;
答案 1 :(得分:1)
MySQL只能理解YYYY-MM-DD
格式的日期文字或一些细微的变化。 MySQL无法识别DD-MM-YYYY
。
在http://dev.mysql.com/doc/refman/5.1/en/datetime.html
上查看更多详情另外,如另一个答案所述,日期文字必须是单引号,如字符串文字。
如果您不包含引号,则显示的代码如下所示:
SELECT * FROM flight WHERE DepartureDate = 2010/5/3.
算术表达式2010除以5除以3等于134.0。这不符合任何日期。
SELECT CURDATE() = 2010/5/3;
返回false。
SELECT CURDATE() = '2010/5/3';
返回true;