$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,而不是 db 值 0。为什么?
更新
发现了:列名称周围的反引号丢失了:
$user_checkn = db_query("SELECT `".$tag."` FROM advent_user_check WHERE uid=".$_SESSION ['uid']." LIMIT 1");
最佳答案
$tag 不是数据库中的名称。在您的代码中,$tag 是 6,因此它会打印该值。列名是什么?您基本上是在说 SELECT 6 FROM advance_user_check WHERE uid=....
关于php - 在 PHP 中使用变量输出 MySQL 列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13242609/