我认为这很简单,但我找不到搜索的答案
我想做这样的事情
if(!$user_logged)
{
$q = "select `id` , 0 as choice from tbl1";
}
else
{
$q = "select tbl1.id , tbl2.choice as choice from tbl1 join tbl2 ON .... ";
}
如果用户未登录,我想选择0作为选择,这样我就不需要进行额外的连接 但是我得到了
Unknown column '0' in 'field list'
答案 0 :(得分:1)
产生错误(显示)的唯一方法是,如果您在查询中有这个:
select id , `0` as choice from test ;
---^ ^------
------------ notice the backticks there
成功:
select id , 0 as choice from test ;
并且查询有效且MySQL不会抛出任何错误。
如果您想要在PHP中返回一个字符串(就像choice
或CHAR()
列中的VARCHAR()
列一样)并且您想要查询的两个变体的一致结果,那么请使用单引号:
select id , '0' as choice from test ;
答案 1 :(得分:0)
我不确定这是否是您正在寻找的,但请尝试一下:
SELECT id AS choice FROM tbl1 WHERE id=0
答案 2 :(得分:0)
如果你已经知道你想要什么值(0)你为什么要让SQL返回呢?只需使用0而不是解析查询中的值。
答案 3 :(得分:0)
尝试此查询: -
SELECT id,'0' AS Choices FROM tbl1 ;