これらのMySQLクエリを組み合わせるための正しい構文は何ですか?
$reserved = mysql_query("Select * from reservations where $timestamp >= ReservationStart AND $timestamp <= ReservationEnd");
そして
$reserved2 = mysql_query("Select * from reservations where $ReservationEnd >= ReservationStart AND $ReservationEnd <= ReservationEnd");
両方とも会う予約をお願いしますこれらの基準は私がmysqlを使用するのはかなり新しいです(そして私はそれが廃止予定であることを知っています、しかし私がそれを使うことがより簡単であるという目的のため)。
回答:
回答№1は0を組み合わせる WHERE
の節 AND
。また使用することができます BETWEEN
両方をテストする代わりに、演算子 >=
そして <=
.
$reserved = mysql_query("Select *
from reservations
where $timestamp BETWEEN ReservationStart AND ReservationEnd
AND $ReservationEnd BETWEEN ReservationStart AND ReservationEnd") or die(mysql_error());
回答№2の場合は0
クエリが機能しない理由を見つけました。
これは、クエリの構文が間違っていたためです。変数が正しく機能するためには、変数の前後に反転カンマが必要です。
$reserved = mysql_query("Select * from reservations where "$timestamp" BETWEEN ReservationStart AND ReservationEnd AND "$ReservationEnd" BETWEEN ReservationStart AND ReservationEnd