1

かなり簡単だと思いますが、検索しても答えが見つかりませんでした

私はこのようなことをしたい

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'
4

4 に答える 4

1

エラー(表示)が生成される唯一の方法は、クエリに次のものが含まれている場合です。

select id , `0` as choice from test ;
         ---^ ^------
         ------------ notice the backticks there

成功する:

select id , 0 as choice from test ;

クエリは有効であり、MySQL はエラーをスローしません。

PHP で文字列を返し (または列choiceの列のように)、クエリの 2 つのバリエーションから一貫した結果が必要な場合は、一重引用符を使用します。CHAR()VARCHAR()

select id , '0' as choice from test ;
于 2012-08-07T12:30:27.020 に答える
0

これがあなたが探しているものかどうかはわかりませんが、試してみてください:

SELECT id AS choice FROM tbl1 WHERE id=0
于 2012-08-07T12:10:27.640 に答える
0

必要な値 (0) が既にわかっている場合、なぜ SQL にそれを返させたいのでしょうか? クエリから値を解析する代わりに、0 を使用してください。

于 2012-08-07T12:12:08.753 に答える
0

このクエリを試してください:-

SELECT id,'0' AS Choices FROM tbl1 ;
于 2012-08-07T12:13:25.537 に答える