2012-11-06 49 views
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而不是db值,即0。爲什麼?使用變量輸出PHP中的MySQL列值

UPDATE

想通了:各地列名反引號失蹤:

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

你必須輸入字段名稱而不是$標籤。 – Vucko

回答

1

$標籤是不是在數據庫的名稱。在你的代碼中,$ tag是6,所以它打印出來。什麼是列名?你基本上是說SELECT 6 FROM advent_user_check WHERE uid=....

+0

$ tag是列的名稱(例如6) –