Ich habe eine Bestellseite, wenn Sie Autos bestellen können. Ich habe 2 Funktionen, 1 um 1 zu bestellen.Überprüfung der Verfügbarkeit zwischen 2 Daten nicht funktioniert
Meine Bestellung Funktion:
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);
}
}
meine Prüffunktion:
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;
}
}
Aber ich habe einen Fehler in meinem Code. Wenn jemand vom 01.01.2001 bis zum 15.01.2001 bestellt, wird er korrekt eingefügt. Und wenn jemand bestellt von 2001-01-02 bis 2001-01-14, wird er auch eingefügt. Ich dachte, das würde funktionieren. Ich habe den Sql BETWEEN aswell versucht, aber das funktioniert auch nicht.
Also meine Frage ist, wie kann ich eine korrekte Überprüfung dafür machen? Ich habe keine Fehler.
Meine Tabelle Setup:
Welche Datentyp verwenden Sie für Ihre Daten in der Datenbanktabelle? (Bitte sagen Sie nicht, dass Sie ein Varchar verwenden) –
Nein Ich benutze Datum @MarkBaker –