1
$checkQuery = "SELECT Id FROM Events
WHERE Date = '$date'
AND VehId = $vehicleId
AND ((StartTime BETWEEN $timeOut AND $timeIn)
OR (EndTime BETWEEN $timeOut AND $timeIn))";
$checkResults = sqlsrv_query($conn, $checkQuery);
if (sqlsrv_num_rows($checkResults) > 0)
{
//do some stuff where the vehicle is already reserved.
} else { // this always executes.
var_dump($rowCounts, $date, $vehicleId, $timeOut, $timeIn);
//insert the new reservation.
}
//的var_dump - 布尔(假)字符串(10) “2016年11月1日” INT(184)浮点(9.5)浮(11)SQL返回false
我的SQL查询不断返回false ,虽然我没有得到我期望的参数是1错误?总是执行else语句。因此,我的查询中出现了一些错误,但下面是我的小提琴,它表明它按预期工作?我的目标是查询数据库,如果有任何结果回来,它不会插入一个新的记录,因为车辆应该已经保留。任何帮助表示赞赏! http://sqlfiddle.com/#!3/a86be/6
SELECT Id FROM Events
WHERE Date = '2016-11-01'
AND VehId = 184
AND ((StartTime BETWEEN 9.5 AND 11)
OR (EndTime BETWEEN 9.5 AND 11))
我认为很明显,但我没有验证其实也有一个数据库中的记录,它应该返回。
非上市日期被解释为数学减法2016 - 11等?请显示'$ checkQuery'的内容 –
我的意思是字符串一旦发生内插,所以我们可以看到发送给服务器的字符串。 (先修复日期问题) –
完成,我也会清理注释。 – DavidG