2012-02-15 22 views
0

でテーブル名を選択します。 しかし、私は、テーブル名を持つこのクエリを実行する必要がありますし、この私がしようとすると:SQLは、私は単純なクエリを持つクエリ

$table_name = 'v_c_holi_2012'; 

$STH_h3 = $DBH_R->query("SELECT `$table_name`.DATE(date_time) AS day_h 

          FROM `$table_name` 
        "); 

または

$table_name = 'v_c_holi_2012'; 

$STH_h3 = $DBH_R->query("SELECT v_c_holi_2012.DATE(date_time) AS day_h 

          FROM `$table_name` 
        "); 

この

が動作していない(致命的なエラー:非上メンバ関数FETCH_ASSOC()の呼び出し - オブジェクト)。

私は間違っていますか?

答えて

2

dateの機能はシステム機能であるため、tableという接頭辞は使用しないでください。 代わりにフィールドdate($table_name.date_time)の前にテーブルエイリアスを配置する必要があります。

ところで、テーブルを1つだけ選択する必要はありません。

+0

thnks、私は2つのテーブル、thnksからそれを行う必要があります。私が思うに、私は思っていると思っているだけです... – Andrew

0

私は$table_name.DATE(date_time)あなたはテーブルにだもの(すなわち、フィールド名)ではなく、(あなたのテーブルとは関係ありません)DATE関数にテーブル名を適用する必要がありますDATE($table_name.date_time)

0

べきであると信じています。

すなわち

$table_name = 'v_c_holi_2012'; 

$STH_h3 = $DBH_R->query(
    "SELECT DATE(`$table_name`.`date_time`) AS `day_h` 
    FROM `$table_name`" 
); 
関連する問題