event_id 列とcheduled_at 列を持つデータベース テーブルがあります。クエリはphpで呼び出され、次のようになります。
$columnName = 'scheduled_at';
$start = '2013-02-26';
$end = '2013-02-27';
// query to be executed
$sql = ( SELECT * FROM $table WHERE $columnName BETWEEN $start AND $end );
クエリは実行時に機能しませんが、以下は機能します
$sql = ( SELECT * FROM $table WHERE $columnName BETWEEN $start AND '2013-02-27' );
と
$sql = ( SELECT * FROM $table WHERE $columnName BETWEEN $start AND $start );
動作しませんが、以下は動作します
$sql = ( SELECT * FROM $table WHERE $columnName BETWEEN '2013-02-27' AND '2013-02-27' );
値を手動で挿入すると機能しますが、関数の有用性が失われます。うまくいかない理由はありますか?