试图弄清楚为什么我的代码无法正常工作。基本上我有一个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中的保留字,不是列名的最佳选择!