Jaka jest poprawna składnia do łączenia tych zapytań mysql?
$reserved = mysql_query("Select * from reservations where $timestamp >= ReservationStart AND $timestamp <= ReservationEnd");
i
$reserved2 = mysql_query("Select * from reservations where $ReservationEnd >= ReservationStart AND $ReservationEnd <= ReservationEnd");
Chciałbym, aby rezerwacja spełniła oba warunkite kryteria, ale jestem całkiem nowy w używaniu mysql (i wiem, że jest on przestarzały, ale dla celów tego, czego używam, jest łatwiejszy), więc nie jestem pewien, jak je połączyć.
Odpowiedzi:
0 dla odpowiedzi № 1Połącz WHERE
klauzule z AND
. Możesz także użyć BETWEEN
operator zamiast testowania obu >=
i <=
.
$reserved = mysql_query("Select *
from reservations
where $timestamp BETWEEN ReservationStart AND ReservationEnd
AND $ReservationEnd BETWEEN ReservationStart AND ReservationEnd") or die(mysql_error());
0 dla odpowiedzi nr 2
Znalazłem powód, dla którego zapytanie nie działało.
Stało się tak po prostu dlatego, że składnia zapytania była niepoprawna, ponieważ potrzebowałem odwróconych przecinków wokół zmiennych, aby działała poprawnie, jak poniżej:
$reserved = mysql_query("Select * from reservations where "$timestamp" BETWEEN ReservationStart AND ReservationEnd AND "$ReservationEnd" BETWEEN ReservationStart AND ReservationEnd