我有一個訂購頁面,當你可以訂購汽車。我有2個功能,1到1來檢查。檢查兩個日期之間的可用性不起作用
我的訂單功能:
function reserveer($resvan,$restot,$autoid){
$con = new Core();
$con->connect();
$sql = 'INSERT INTO reservering (resvan, restot,autoid) VALUES (?,?,?)';
if ($stmt = $con->myconn->prepare($sql))
{
$stmt->bind_param('ssi', $resvan, $restot,$autoid);
$stmt->execute();
$stmt->close();
}
else{
die("errormessage: " . $con->myconn->error);
}
}
我檢查功能:
function check($resvan, $restot,$autoid){
$con = new Core();
$con->connect();
$errmsg = array();
$sqlres = 'SELECT * FROM reservering WHERE resvan >= ? AND restot <= ? AND autoid=?';
if($stmt = $con->myconn->prepare($sqlres)){
$stmt->bind_param('ssi', $resvan, $restot,$autoid);
$stmt->execute();
$stmt->store_result();
}
if ($stmt->fetch()){
$errmsg[] = "already exists!";
return $errmsg;
}
}
但我在我的代碼中的缺陷。當有人從2001-01-01到2001-01-15訂購時,它會被正確插入。當有人從2001-01-02到2001-01-14訂購時,它也被插入。我認爲這會起作用。我已經嘗試了SQL BETWEEN,但也不起作用。
所以我的問題是,我該如何做一個正確的檢查呢?我沒有錯誤。
我的表設置:
數據庫表日期什麼是您使用的數據類型呢? (請不要說你使用的是varchar) –
不,我使用的日期@MarkBaker –