2009-08-14 77 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 />"; 
}