2012-03-15 12 views
0

2つの日付の間にある表からすべての行を取得しようとしています。 2000年と2020年の間にすべてが表示されるでしょうように、テストとして、私は私の2つの変数を設定し、私はエラーに遭遇した:'where句'の 'DATE_START_SELECTED'列が不明です

Unknown column 'DATE_START_SELECTED' in 'where clause' 

これは私が使用するコードです:

$DATE_START_SELECTED = new DateTime('2000-01-01 05:59:00'); 
$DATE_END_SELECTED = new DateTime('2020-03-15 09:30:00'); 


$query = 'SELECT * FROM events WHERE DATE_START_SELECTED <= start_datetime AND end_datetime < DATE_END_SELECTED'; 
$result = mysql_query($query) or die(mysql_error()); 

任意のアイデア理由?感謝:)

+1

ている間あなたの$クエリは文字通り%DATE_START_SELECTED%有効ではありませんこれを含むテーブル名やデータベース名

、列名にFER ... – Aknosis

+0

なるほど、私は私は申し訳ありませんが、それを知りませんでした - 私は次に私の質問を更新します:) – pufAmuf

答えて

1

あなたがオブジェクト

$DATE_START_SELECTED = new DateTime('2000-01-01 05:59:00'); 
$DATE_END_SELECTED = new DateTime('2020-03-15 09:30:00'); 

を使用している最善の策は、あなたが、その後

$DATE_START_SELECTED = '2000-01-01 05:59:00'; 
$DATE_END_SELECTED = '2020-03-15 09:30:00'; 

のように、文字列に変換し

SELECT * FROM events 
WHERE 
start_datetime >= '$DATE_START_SELECTED' 
    AND 
end_datetime < '$DATE_END_SELECTED' 
にSQLを変更する必要があります

DATE_START_SELECTEDは文字列で、
はSQLモードになります$DATE_START_SELECTEDは、PHP変数

+0

ありがとう、あまりにも多くのajreal!その場合、私は新しいDateTime *を完全に破棄し、あなたが示した文字列コードを使用することができますか? – pufAmuf

+0

私はそう思います... – ajreal

+0

あなたは最高です、ありがとう! – pufAmuf

関連する問題