我在从数据库中检索数据时遇到问题,mysqli忽略了我的代码中的一些AND语句。
$query_check = "select * from databaseTime where
(authID='".$Database->real_escape_string($_SESSION['profile']['authID'])."' AND
userID = '".$Database->real_escape_string($_POST['contact'])."') AND (
fromDateTime >= '".$Database->real_escape_string($_POST['fromDate'].' '.$fromTime)."' AND
fromDateTime <= '".$Database->real_escape_string($_POST['toDate'].' '.$toTime)."') OR
(fromDateTime <= '".$Database->real_escape_string($_POST['fromDate'].' '.$fromTime)."' AND
fromDateTime >= '".$Database->real_escape_string($_POST['toDate'].' '.$toTime)."') OR
(toDateTime >= '".$Database->real_escape_string($_POST['fromDate'].' '.$fromTime)."' AND
toDateTime <= '".$Database->real_escape_string($_POST['toDate'].' '.$toTime)."'))";
$result_check = $Database->query( $query_check );
$row_check = $result_check->fetch_object();
if(!$row_check)
echo valid;
else
echo invalid;
查询应检查authID和userID是否匹配,但在从数据库进行调用时似乎忽略了这一点
如果我正确地做了这件事,请告诉我。
我想要得到的是:
| .... |表示每个用户ID ex的时间范围:上午3:00 - 上午5:00
===========================================================================
user ID: 5 ------------------|.......................|---------------- base
user ID: 5 ------------------|.......................|---------------- invalid
user ID: 5 |.......................|---------------------------------- invalid
user ID: 5 ----------------------------|.......................|------ invalid
user ID: 5 |.........|------------------------------------------------ valid
user ID: 5 ------------------------------------------|.........|------ valid
user ID: 6 |.......................|---------------------------------- valid
user ID: 6 ----------------------------|.......................|------ valid
user ID: 6 ------------------|.......................|---------------- valid
UPDATE根据评论中的建议改变了代码中的几行:
这是我现在唯一的问题:
===========================================================================
user ID: 5 ------------------|.......................|---------------- base
user ID: 5 ------------------------------------------|.............|-- valid
而不是打印有效,它给我一个无效的。
当我从查询中删除(=)这是问题
===========================================================================
user ID: 5 ------------------|.......................|---------------- base
user ID: 5 ------------------|.......................|---------------- invalid
而不是打印无效,它给我一个有效的。