Ich versuche ein Reservierungssystem zu erstellen und möchte prüfen, ob zwischen zwei Daten bereits eine Reservierung vorgenommen wurde. Mein SQL gibt jedoch immer false zurück.PHP SQL Zeile zwischen Daten auswählen
$reservation_date_start = date('y-m-d', strtotime($fields['reservation_date_start']));
$reservation_date_end = date('y-m-d', strtotime($fields['reservation_date_end']));
// Save data to database
$table_name = $wpdb->prefix . 'mb_bookings';
$date_exists = $wpdb->get_results("SELECT * FROM $table_name
WHERE (reservation_date_start >= $reservation_date_start AND reservation_date_start < $reservation_date_end)
OR (reservation_date_end >= $reservation_date_start AND reservation_date_end < $reservation_date_end)
AND (accommodation_id = $accommodation_id)"
);
ich schon versucht, die BETWEEN
Funktion, aber auch ohne Erfolg.
Die Daten sind korrekt in der Datenbank (ymd)
Db Beispiel:
Jede Hilfe sehr geschätzt werden würde, wie ich es seit Tagen damit zu kämpfen habe ..
Was ist der Fehler, den Sie bekommen? wo (a> b) oder (b> a) sollte sein wo ((a> b) oder (b> a)) mit der zusätzlichen Klammer – Alex7
Was ist der Datentyp der Spalten 'reservation_date_start' und' reservation_date_end'? –
@ Alex7 Das Problem, das ich bekomme, ist, dass die Abfrage immer 0 zurückgibt. Ich habe versucht, die zusätzliche Klammer hinzuzufügen, aber immer noch keinen Erfolg. – Thjeu