2011-07-30 19 views
0

我在我的PHP文件如何從「SELECT * FROM」mysql_fetch_array查詢中訪問數據?

$atr_info = "SELECT * from attributes"; 
$atr_info2 = mysql_query($atr_info) or die ("Couldn't get attributes"); 
$atr = mysql_fetch_array($atr_info2)or die ("Couldn't make array"); 

die ($atr['attribute'][n]); 

得到這個屬性表有3列:ID,屬性,工具提示
並有大量的行。我希望能夠返回列屬性中的行「n」的值,但它不起作用,它返回列的第一行,並顯示該字段中的第N個字母,我該如何使它工作?

+1

mysql_fetch_array()每次從結果集返回一行。爲了讀取多行,mysql_fetch_array()通過循環運行。在你的例子中,你只運行一次mysql_fetch_array(),所以它總是返回列的第一行。請嘗試按照以下答案中的示例進行操作。 – Abhay

+0

偉大thanx的解釋我明白我的錯在哪裏:D – Thaiscorpion

回答

1
$i = 1; 
$rows = array(); 
$atr_info2 = mysql_query("SELECT * from attributes") or die ("Couldn't get attributes"); 
while($row = mysql_fetch_array($atr_info2)) { 
    $rows[$i] = $row; 
    $i++; 
} 

現在你卡恩訪問在45行中的屬性欄這樣的:

echo $rows[45]['attribute']; 
+0

非常感謝,完美的作品 – Thaiscorpion

1

如果你重寫查詢這樣

$atr_info = 'SELECT * from attributes LIMIT $n, 1' 
$atr_info2 = mysql_query($atr_info) or die ("Couldn't get attributes"); 

然後

if($row = mysql_fetch_array($atr_info2) or die ("Couldn't make array")) 
{ 
    echo $row['tooltip']; 
}