PHP返回无效的MySQL资源

PHP返回无效的MySQL资源,php,mysql,Php,Mysql,假设所有$\u请求都是日/月/年字段中相应字段的有效数值,LFlights和RFlights怎么可能无效?当我对整个数据库进行轮询时,我得到了数百个结果,因此我知道数据库和连接数据很好,并且字段DepartureDate也存在 编辑: 当我提取数据库的所有内容时,日期以“YYYY-MM-DD”格式返回。因此,我将D转换为一个字符串,如果它是的话,请尝试将Ldate和Rdate包含在查询中的单个qout中 $LDATE = '#' . $_REQUEST['LDateDay'] . '/'

假设所有$\u请求都是日/月/年字段中相应字段的有效数值,LFlights和RFlights怎么可能无效?当我对整个数据库进行轮询时,我得到了数百个结果,因此我知道数据库和连接数据很好,并且字段DepartureDate也存在

编辑:
当我提取数据库的所有内容时,日期以“YYYY-MM-DD”格式返回。因此,我将D转换为一个字符串,如果它是的话,请尝试将Ldate和Rdate包含在查询中的单个qout中

    $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);
我也相信你不需要#标志。这通常是一种访问方式

$LSQLRequest = "SELECT * FROM flight WHERE DepartureDate = '".$LDATE."'";
$RSQLRequest = "SELECT * FROM flight WHERE DepartureDate = '".$RDATE."'";

MySQL只理解
YYYY-MM-DD
格式的日期文字,或者一些细微的变化DD-MM-YYYY

有关更多详细信息,请参阅

正如另一个答案中提到的,日期文字必须用单引号括起来,就像字符串文字一样


如果不包含引号,则显示的代码如下所示:

 $LDATE = $_REQUEST['LDateDay'] . '/' . $_REQUEST['LDateMonth'] . '/' . $_REQUEST['LDateYear'] ;
 $RDATE = $_REQUEST['RDateDay'] . '/' . $_REQUEST['RDateMonth'] . '/' . $_REQUEST['RDateYear'] ;
算术表达式2010除以5除以3等于134.0。这与任何日期都不匹配

SELECT * FROM flight WHERE DepartureDate = 2010/5/3.
返回false

SELECT CURDATE() = 2010/5/3;

返回true

单引号是正确的。这个答案是对的,而且两个问题都解决了。谢谢当事情超时(6分钟)时,我会接受作为答案。谢谢,我添加了更多关于报价问题的细节,以便其他读者能有一个很好的解释。谢谢。你是对的。我有另一个问题,下面的评论员也抓住了,但我会投票给你。可能是重复的
SELECT CURDATE() = '2010/5/3';