2012-04-04 6 views
0

からエイリアスを使用するには?タイムスタンプ期間の検証を確認するためにエイリアストリガーが必要です。その期間が0以下であれば、「トリガー」は1を出力します。その場合は、別の照会を実行する必要があります。は、どのように私はどのように選択クエリから別名を使用する質問がある選択クエリ

だから、私の質問が十分にはっきりしていることを願っています。助けることができる人がいれば本当に感謝しています。どうもありがとう。

+1

ただの付随的な発言です:予約語であるため、バッククォートに 'trigger'を入れる必要があります。 '\' trigger \ '' – Basti

答えて

1

私は "トリガ"が予約語かもしれないと思います。試してみてください:

$timecheck = $db->query("SELECT (DOE <= NOW()) AS trggr FROM table WHERE a='$a' "); 
$trggr = //getting the value 
if ($trggr != 0){ 
    // something 
} 
+0

これは動作しません。 $ trggr = //値を取得すると予期しないT_IFが発生するというエラーメッセージが表示されます – bonny

+0

はい、$ trggrを満たす実際のコードを//置き換える必要があります。実際には、あなたのコードにpostetとして自動的に記入されるかどうかはわかりません。 –

+0

あなたは別の変数名$ trggrで$ timecheckを繰り返してエイリアスを残す必要があることを意味します:) – bonny

-2

一般的です。 また、このように使用することもできます。そのサーバーに依存します。

( "AS" を使用せずに) "SELECT DOE < = NOW()テーブルからのトリガーWHERE = '$のA'" 私はそれがこのようなものであるべきと考えてい

-1

...

$timecheck = $db->query("SELECT DOE <= NOW() AS trigger FROM table WHERE a='$a'"); 
while ($timecheck->fetchInto($row, DB_FETCHMODE_ASSOC)) { 
    if ($row['trigger'] != 0){ 
     do something 
    } 
} 

SELECT IF(DOE <= NOW(), 1, 0) AS `trigger` FROM ... 

編集:クリスチャンで述べたようにトリガする追加バッククォート

0

IF()コールは、トリックを行う必要があります。

+0

なぜこれがダウン表示されたのですか? – Rijk

+0

誰かがdownvote spreeにいると思う – Bono

+0

@Rijkそれは動作しないので。 – kba

1

triggerは予約済みのキーワードなので、バックティックでカプセル化する必要があります。これは動作します:

SELECT DOE <= NOW() AS `trigger` FROM table WHERE a='$a'" 
関連する問題