如何使用select查询中的别名

时间:2012-04-04 09:06:53

标签: php mysql variables time alias

我有一个问题如何使用选择查询中的别名:

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

这是使用别名的正确方法吗?我需要别名触发器来检查时间戳周期的验证。如果该周期为0或更小意味着'触发'将输出1.如果应该执行另一个查询。

所以我希望我的问题很清楚。如果有人可以提供帮助我真的很感激。非常感谢。

5 个答案:

答案 0 :(得分:1)

trigger是保留关键字,因此您需要将其封装在后面的刻度中。这将有效:

SELECT DOE <= NOW() AS `trigger` FROM table WHERE a='$a'"

答案 1 :(得分:1)

我认为“触发器”可能是一个保留字。尝试:

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

答案 2 :(得分:0)

IF()来电应该可以解决问题:

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

修改:添加反引号,如Kristian所述。

答案 3 :(得分:-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
    }
}

答案 4 :(得分:-2)

它的一般。 有时我们也可以这样使用。它取决于服务器。 (不使用“AS”)

“SELECT DOE&lt; = NOW()触发器FROM表WHERE a ='$ a'”