mysql_fetch_row(),mysql_fetch_assoc(), mysql_fetch_array()?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (3)
  • 关注 (0)
  • 查看 (139)

我想要一个函数,可以将结果集的当前行中的字段返回到关联数组中,并将结果指针移动到下一行。

mysql_fetch_row()
mysql_fetch_assoc()
mysql_fetch_array()

我应该使用哪一个?

提问于
用户回答回答于

mysql_fetch_assoc()

说你的表有两列id和名字。你可以使用下面的代码片断 -

while ($row = mysql_fetch_assoc($result)) {
    echo $row["id"];
    echo $row["name"];
}
用户回答回答于

mysql_fetch_assoc 当你手动引用的字段。

mysql_fetch_row 当你使用它作为的一部分 list($a,$b,$c...) = ...

没有mysql_fetch_array

用户回答回答于

注意:这些mysql_*函数的使用被认为是不推荐的,而应该使用提供更好的安全性和更多功能的东西,比如MySQLi或者PDO

不同的功能将返回什么?

所有提到的函数都会返回一个数组,它们之间的差异是在返回对象中用作键的值。

  • mysql_fetch_row 此函数将返回一个行,其中的值将按SQL查询中定义的顺序排列,并且键将跨越0至少一个选定的列数。
  • mysql_fetch_assoc 这个函数将返回一行作为关联数组,其中列名将是存储相应值的键。
  • mysql_fetch_array 这个函数实际上会返回一个数组,其内容mysql_fetch_rowmysql_fetch_assoc合并成一个。它将有数字字符串键,这将允许您以任何方式访问您的数据,你会发现最简单的。 建议要么使用_assoc_row虽然。

扫码关注云+社区

领取腾讯云代金券