0
$tag = 6;   
$user_checkn = db_query("SELECT ".$tag." FROM advent_user_check WHERE uid=".$_SESSION ['uid']." LIMIT 1");  
$user_check = mysql_fetch_array($user_checkn);
echo $user_check[$tag]; 

これは 0 である db 値の代わりに 6 を出力します。なぜですか?

アップデート

考え出した:列名の周りのバッククォートがありませんでした:

$user_checkn = db_query("SELECT `".$tag."` FROM advent_user_check WHERE uid=".$_SESSION ['uid']." LIMIT 1");
4

1 に答える 1

1

$tag はデータベース内の名前ではありません。あなたのコードでは、 $tag は 6 なので、それを出力します。列名は何ですか? あなたは基本的に言っていますSELECT 6 FROM advent_user_check WHERE uid=....

于 2012-11-06T00:24:55.380 に答える