MysqL_fetch_row,MysqL_fetch_assoc的区别
MysqL_fetch_row,MysqL_fetch_assoc相同点是
这三个函数都是用来取数据的。先来看看MysqL手册中对这三个函数的描述
array MysqL_fetch_row ( resource result ) 返回根据所取得的行生成的数组,如果没有更多行则返回 FALSE。
MysqL_fetch_row() 从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。 依次调用
MysqL_fetch_row() 将返回结果集中的下一行,如果没有更多行则返回 FALSE。
注: 本函数返回的字段名是区分大小写的。
array MysqL_fetch_array ( resource result [,int result_type] )
返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。 MysqL_fetch_array() 是 MysqL_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。 如果结果中的两个或以上的列具有相同字段名,最后一列将优先。要访问同名的其它列,必须用该列的数字索引或给该列起个别名。对有别名的列,不能再用原来的列名访问其内容(本例中的 'field')。
array MysqL_fetch_assoc ( resource result )
返回根据从结果集取得的行生成的关联数组,如果没有更多行则返回 FALSE。 MysqL_fetch_assoc() 和用 MysqL_fetch_array() 加上第二个可选参数 MysqL_ASSOC 完全相同。它仅仅返回关联数组。这也是 MysqL_fetch_array() 起初始的工作方式。如果在关联索引之外还需要数字索引,用 MysqL_fetch_array()。 如果结果中的两个或以上的列具有相同字段名,最后一列将优先。要访问同名的其它列,要么用 MysqL_fetch_row() 来取得数字索引或给该列起个别名。参见 MysqL_fetch_array() 例子中有关别名说明。 有一点很重要必须指出,用 MysqL_fetch_assoc() 并不明显 比用 MysqL_fetch_row() 慢,而且还提供了明显更多的值。
注: 本函数返回的字段名是区分大小写的。
MysqL_fetch_row,MysqL_fetch_assoc不同点是
MysqL_fetch_row返回的结果集只能是以0,1,2,3...这种数据索引的方式来读取数据,
MysqL_fetch_array返回的结果集是既有0,3这种数字下标,也有以你表字段为名子的key
MysqL_fetch_assoc返回的结果集只能以key为数组下标, 从功能上说就像是MysqL_fetch_row加上MysqL_fetch_assoc等于MysqL_fetch_array