Bir rezervasyon sistemi oluşturmaya çalışıyorum ve iki tarih arasında bir rezervasyon yapılmış olup olmadığını kontrol etmek istiyorum. Ancak, SQL'im her zaman false döndürür.PHP SQL Tarihleri arasında satır seçin
$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)"
);
Zaten aynı zamanda herhangi bir başarı olmadan, BETWEEN
işlevini kullanarak denedim.
tarihleri veritabanı (YAG) doğru
Db örnektir:
Herhangi bir yardım gerçekten takdir, ben şimdi gün boyunca onunla mücadele ettik ..
Aldığınız hata nedir? Burada (a> b) veya (b> a), ek parantez ile ((a> b) veya (b> a)) olmalıdır. – Alex7
"booking_date_start" ve "reservation_date_end" sütunlarının veri türü nedir? –
@ Alex7 Sorun alıyorum her zaman 0 döndürür. Ekstra parantez eklemek istedim, ancak yine de başarı. – Thjeu