2009-08-14 64 views
2

假設我在PHP中有這個查詢。PHP中的MySQL結果數組

$a = mysql_query("SELECT * FROM `users` WHERE `id` = '1' "); 

這是很好,所有,但我有一個問題。如何查看$一個,我假設的內容是一個數組,像這樣:

 
Index   | Value 
ID    | 1 
Username  | Foo 
Password  | Bar 
...

回答

3
 
while ($row = mysql_fetch_assoc($a)) { 
    echo $row['id']; 
    echo $row['username']; 
    echo $row['password']; 
} 
0

使用mysql_fetch_assoc

while($row = mysql_fetch_assoc($a)) 
{ 
    echo $row['index'] . ' | ' . $row['ID'] . ' | ' . 
     $row['username'] . ' | ' . $row['password']; 
} 

mysql_free_result($a); 

我prefere mysql_fetch_assocmysql_fetch_row因爲它不是明顯要慢,它給你可以按名稱調用字段(例如``row ['index'])。

如果您希望按索引或名稱引用行的靈活性,也可以使用mysql_fetch_array。真的,只是偏好。

0

或使用:

var_dump($a, true); 

,如果你只是想看看entrys ..

0

在PHP和MySQL的它的功能,運行mysql_query()返回一個指向一個結果集的標識符。因此,您需要mysql_fetch_assoc()或其兄弟之一(mysql_fetch_array,mysql_fetch_object,mysql_fetch_row)實際將返回的ID傳遞給mysql以獲取結果集。

我還應該注意到,這些函數只是返回一行並將內部指針前進到下一行。

0

mysql_fetch_row()怎麼了?結合list()語言構造,它工作得非常好,並提供強類型變量名稱。我已經使用了這幾次:

$a = mysql_query("SELECT * FROM `users` WHERE `id` = '1' "); 

while(list($index,$id,$username,$password) = mysql_fetch_row($a)) 
{ 
    echo "Index | " . $index . "<br />"; // assuming this in HTML 
    echo "ID | " . $id . "<br />; 
    echo "User | " . $username . "<br />"; 
    echo "Pass | " . $password . "<br />"; 
}