一尘不染

mysql_fetch_array,mysql_fetch_assoc,mysql_fetch_object

mysql

这些功能非常相似:

mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_object()

我最近开始使用mysql_fetch_object,因为我正在使用PHP做更多的OOP。

但是人们对于哪种最佳使用方法和原因有何看法,以及最佳使用哪种方案。

感谢您的想法!


阅读 270

收藏
2020-05-17

共1个答案

一尘不染

mysql_fetch_array 将为您提供可以作为键的数组:

  • 列的编号和名称(如果使用) MYSQL_BOTH
  • 列名称,使用MYSQL_ASSOC-在这种情况下,您将获得与使用时相同的结果mysql_fetch_assoc
  • 如果使用,则仅数字(取决于查询中列的顺序) MYSQL_NUM

使用列名称索引结果可能是最有用的解决方案-至少易于使用。

但是在一种情况下,通过select子句中的字段位置为结果建立索引很有趣:一种情况是:当您有多个具有相同名称或别名的列时。
在这种情况下,由于数组中不能包含两个具有相同索引的条目,因此您将只能使用列名作为索引来访问这些列之一。
对于其他具有相同名称的列,您将必须使用数字索引。

这种情况可能是我唯一要使用的mysql_fetch_array情况-为了避免这种情况,我宁愿在查询中使用别名-更加清楚。

mysql_fetch_assoc
将为您提供一个数组,将列名作为键,将数据作为值。

没什么可说的,实际上。

并且mysql_fetch_object将获得您的objetcs作为回报。

在之间进行选择mysql_fetch_assocmysql_fetch_object很可能取决于您如何开发应用程序:如果到处使用对象,第二个对象可能是最合适的。

如果使用数组作为数据容器,则可以使用第一个数组。

2020-05-17