这些函数都非常相似:
mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_object()我最近开始使用mysql_fetch_object,因为我正在做更多的面向对象编程。
但是,人们对使用哪一个最好,为什么使用,以及它们最适合在哪种场景中使用有什么看法呢?
谢谢你的想法!
发布于 2009-10-08 10:43:22
mysql_fetch_array将为您提供一个可以作为键的数组:
如果使用
MYSQL_BOTH
MYSQL_ASSOC --在本例中,如果使用MYSQL_NUM,您将获得与使用
获取按列名索引的结果可能是最有用的解决方案--至少更易于使用。
但是,在一种情况下,获取按select子句中字段的位置索引的结果是很有趣的:当您有几个列具有相同的名称或别名时。
在这种情况下,由于数组中不能有两个具有相同索引的条目,因此只能使用列名作为索引来访问其中一列。
对于具有相同名称的其他列,您必须使用数字索引。
这种情况可能是我使用mysql_fetch_array的唯一情况--我更喜欢在查询中使用别名,以避免这种情况--在我看来,这更清楚。
mysql_fetch_assoc将为您提供一个数组,其中列名作为键,数据作为值。
实际上,没什么好说的。
作为回报,mysql_fetch_object会给你一些对象。
在mysql_fetch_assoc和mysql_fetch_object之间进行选择很可能取决于您开发应用程序的方式:如果到处都使用对象,那么第二种可能是最合适的。
如果使用数组作为数据容器,您可以只使用第一个。
发布于 2010-12-16 11:00:05
mysql_fetch_array()以关联数组和/或数字数组的形式获取结果行。它返回一个与读取的行相对应的字符串数组,如果没有更多的行,则返回FALSE。返回的数组类型取决于$result_type的定义方式。
通过使用MYSQL_NUM,您只能获得数字索引(如$row、$row1等),即数字数组。
通过使用MYSQL_ASSOC,您只能获得关联索引(如$row"id“、$row"name”等),即关联数组。
通过使用MYSQL_BOTH (默认),您将获得一个同时具有关联索引和数字索引的数组。(如$row、$row"name“等),即数字数组和关联数组。
mysql_fetch_assoc()以关联数组的形式获取结果行。(作为键的列名)。
mysql_fetch_object()将结果行作为对象获取。
它返回一个具有与所读取的行相对应的属性的对象,并将内部数据指针向前移动。
对我来说,使用mysql_fetch_assoc()有好处,因为您可以使用数组函数,如array_walk和uasort()。
发布于 2018-01-04 22:40:08
简要说明:
mysql_fetch_assoc():这会得到一个数据的关联数组。
mysql_fetch_array():这将返回一个组合数组,其中包含关联元素以及带有数值索引的数据。
mysql_fetch_object():返回一个对象,该对象具有与提取的行相对应的属性。
Source
https://stackoverflow.com/questions/1536813
复制相似问题