试图弄清楚为什么我的代码无法正常工作。基本上我有一个elseif语句,如下所示:

mysql_connect("localhost","xxxx","xxxxx");
mysql_select_db("xxxxxx");
$sql = "SELECT COUNT(DATE) FROM calendar";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);

$checkdate = $row['DATE'];
$DATEFROM = $_POST['DATEFROM'];
$DAYCOUNT = $_POST['DAYCOUNT'];
$DAYS = $_POST['DAYS'];


if ( $DAYCOUNT < $DAYS ) {
    header( 'Location: request_go_fail.php' );
}
else if ( $checkdate == $DATEFROM ) {
    echo "FAIL!";
}
else {


它不起作用,首先进行检查(以查看DAYCOUNT是否小于DAYS可以正常工作,但是与数据库中的条目进行比较时似乎不行。查找已存在的数据似乎有些问题,因为当我将$ checkdate更改为数据库中已经存在的条目时,它的效果很好。

任何帮助是最感激的:)

最佳答案

SELECT COUNT(DATE) FROM calendar不会返回名为date的字段,请使用$ row变量print_r进行确认。最好的解决方案是将语句更改为SELECT COUNT(DATE) AS datecount FROM calendar之类,然后执行$checkdate = $row['datecount'];

但是,在重新读取代码片段时,我不确定您是否真的想要在日历表中计算DATE的数量,以及从代码片段中确定确切的意图是什么。

另外,DATE是SQL中的保留字,不是列名的最佳选择!

10-01 23:23
查看更多