【发布时间】:2009-08-14 12:20:25
【问题描述】:
假设我在 PHP 中有这个查询。
$a = mysql_query("SELECT * FROM `users` WHERE `id` = '1' ");
这很好,但我有一个问题。如何查看 $a 的内容,我认为它是一个像这样的数组:
索引 |价值 身份证 | 1 用户名 |富 密码 |酒吧 ...【问题讨论】:
假设我在 PHP 中有这个查询。
$a = mysql_query("SELECT * FROM `users` WHERE `id` = '1' ");
这很好,但我有一个问题。如何查看 $a 的内容,我认为它是一个像这样的数组:
索引 |价值 身份证 | 1 用户名 |富 密码 |酒吧 ...【问题讨论】:
【讨论】:
while($row = mysql_fetch_assoc($a))
{
echo $row['index'] . ' | ' . $row['ID'] . ' | ' .
$row['username'] . ' | ' . $row['password'];
}
mysql_free_result($a);
我更喜欢 mysql_fetch_assoc 而不是 mysql_fetch_row,因为它并没有明显变慢,而且它使您能够按名称调用字段(例如 -`$row['index'])。
如果您希望灵活地按索引或按名称引用行,也可以使用mysql_fetch_array。真的,只是偏好。
【讨论】:
查看fetch_arrayfetch_assocfetch_object了解更多信息。
【讨论】:
或者使用:
var_dump($a, true);
如果您只想查看条目..
【讨论】:
在 PHP 及其 mysql 函数中,运行 mysql_query() 返回一个指向结果集的标识符。因此,您需要mysql_fetch_assoc() 或其兄弟之一(mysql_fetch_array、mysql_fetch_object、mysql_fetch_row)将返回的 id 实际传递给 mysql 以获取结果集。
我还应该注意,这些函数只返回一行并将内部指针前进到下一行。
【讨论】:
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 />";
}
【讨论】: