基本的にタイムスタンプ検索クエリを作成しようとしています。ユーザーが希望する予約の開始時刻と終了時刻を入力すると、検索により、その期間中のその部屋の現在の予約が見つかります。一致が見つかった場合、その部屋はすでに予約されていることがユーザーに通知されます。
私が直面している問題は、このクエリを送信するときです。
SELECT * FROM event WHERE begintime <= '$start' AND endtime >= '$end' AND room = '$room';
レコードがありません。変数は正しい情報を保持しているので、算術演算子の使い方が間違っているのではないかと思います。私は多くのことを調べ、1 つのクエリで両方のタイプの比較が使用されている例を多数見つけましたが、1 つの列に対してのみでした。このように、ある列に対して値を比較し、別の列に対して値をすべて 1 つのクエリで比較する例は見つかりませんでした。
誰が私が間違っているのか分かりますか? どんな助けでも大歓迎です。ありがとう!
編集:タイムスタンプをエポック時間に設定しているため、検索に入れられる開始時間は、開始時間と終了時間の間に収まるように、データベースに既に存在する時間以上になります。検索に投入された時間は、開始時間と終了時間の間に入るデータベースの終了時間以下になるため、終了時間は逆になります。標識を反転すると、データベース内の予約外の時間が見つかります。入力が検証されます。