mysql_fetch_row、mysql_fetch_array、mysql_fetch_assoc、mysql_fetch_object

php有4个函数可以从mysql的查询结果集中返回数据,它们分别是mysql_fetch_row、mysql_fetch_assoc、mysql_fetch_array、mysql_fetch_object,下面结合实例详细讲解下各自的功能以及区别;


1、mysql_fetch_row:从结果集中取得一行作为枚举数组,每个结果的列储存在一个数组单元中,偏移量从0开始,直到没有行时返回false;注意:只能用索引取得值,而不能用字段名取值;

 

PHP代码
  1. $result = mysql_query("SELECT id,name FROM mytable WHERE id=20");   
  2. $row = mysql_fetch_row($result); //从查询结果集返回一行数据   
  3. echo $row[0]; // 20   
  4. echo $row['id'] // 无值  

 

2、mysql_fetch_assoc:从结果集中取得一行作为关联数组,每个结果列储存在一个数组单元中,数组键值用字段表示,直到没有行时返回false;注意:只能用字段名取值,而不能用索引,取值时字段是区分大小写的;

 

PHP代码
  1. $result = mysql_query("SELECT id,name FROM mytable WHERE id=20");   
  2. $row = mysql_fetch_assoc($result); //从查询结果集返回一行数据   
  3. echo $row[0]; // 无值   
  4. echo $row['ID'] // 无值   
  5. echo $row['id'] // 20  

 

3、mysql_fetch_array:从结果集中取得一行作为关联数组,或者枚举数组,或者两者都有,直到没有行时返回false;这意味着我们可以用字段取得值,也可以用索引取值;其效率跟mysql_fetch_row相差无几,取值时字段也是区别大小写的;

 

PHP代码
  1. $result = mysql_query("SELECT id,name FROM mytable WHERE id=20");   
  2. $row = mysql_fetch_array($result); //从查询结果集返回一行数据   
  3. echo $row[0]; // 20   
  4. echo $row['id'] // 20  

 

4、mysql_fetch_object:从结果集中取得一行作为对象,直到没有行时返回false;

 

PHP代码
  1. $result = mysql_query("SELECT id,name FROM mytable WHERE id=20");   
  2. $row = mysql_fetch_object($result); //从查询结果集返回一行数据   
  3. echo $row[0]; // 无值   
  4. echo $row['id'] // 无值   
  5. echo $row->id  //20  

 

总结:
这4个函数效率相差无几,选择自己喜欢的就行,通常用mysql_fetch_array既可以用索引取值,也可以用字段取值。

posted @ 2013-05-09 21:39  水月灵心  阅读(234)  评论(0编辑  收藏  举报