城北·IT俱乐部日常经验分享·城北博客

浏览: 154    评论: 0

PHP中mysql_fetch_row()、mysql_fetch_assoc()和mysql_fetch_array()三个取数据内容的函数到底有什么区别呢?在什么情况下使用,可以得到什么结果呢?



PHP中mysql_fetch_row()、mysql_fetch_assoc()和mysql_fetch_array()三个取数据内容的函数到底有什么区别呢?在什么情况下使用,可以得到什么结果呢?


下面城北用简单通俗的介绍下:


先看一下比较官方的介绍,但可能很多人看了后,还是不明白什么意思.

1.mysql_fetch_row() -- 从结果集中取得一行作为枚举数组

说明  array mysql_fetch_row ( resource result)

返回根据所取得的行生成的数组,如果没有更多行则返回 FALSE。

mysql_fetch_row() 从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。

依次调用 mysql_fetch_row() 将返回结果集中的下一行,如果没有更多行则返回 FALSE。


2.mysql_fetch_assoc() -- 从结果集中取得一行作为关联数组

说明  array mysql_fetch_assoc ( resource result)

返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false。

mysql_fetch_assoc()将数据作为关联索引储存,用字段名作为键名。如果结果中的两个或以上的列具有相同字段名,最后一列将优先。要访问同名的其它列,必须用该列的数字索引或给该列起个别名。对有别名的列,不能再用原来的列名访问其内容。


3.mysql_fetch_array --从结果集中取得一行作为关联数组,或数字数组,或二者兼有

说明  array mysql_fetch_array ( resource result [, int result_type])

返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。

mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。


下面直接说明使用函数后,输出取数的方式结果的区别:


mysql_fetch_row()     输出数组的方式是:  echo $row[0];  //取结果中的第1个字段的数出来

mysql_fetch_assoc()  输出数组的方式是:  echo $row["字段名"];  //取结果中字段名为"字段名"的数出来

mysql_fetch_array()   输出数组的方式是:  echo $row[0],$row["字段名"];    //上面两种取数的方式都可以在这个函数中取到数

全文详见:http://it-club.cn/post/192.html

TOP


评论列表


发表评论
来宾的头像