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]; 

这输出 6 而不是 0 的 db 值。为什么?

更新

想通了:列名周围的反引号丢失了:

$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 回答