微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php中返回查询数据集四种方法

PHPMysqL_result MysqL_fetch_row MysqL_fetch_array MysqL_fetch_object四种函数的详细说明.

MysqL_result():优点在于使用方便;其缺点在于功能少,一次调用只能获取结果数据集中的一行元素,对较大型的数据库教程效率较低;

MysqL_result() 函数返回结果集中一个字段的值,如果成功,则该函数返回字段值,如果失败,则返回 false。

语法:MysqL_result(data,row,field) 

参数:data 必需,规定要使用的结果标识符,该标识符是 MysqL_query() 函数返回的。 

参数:row 必需,规定行号,行号从 0 开始。 

参数:field 可选,规定获取哪个字段,可以是字段偏移值,字段名或 table.fieldname,如果该参数未规定,则该函数从指定的行获取一个字段。

  1. <?PHP 
  2. $con = MysqL_connect(localhosthello321); 
  3. if (!$con
  4.   { 
  5.   die('Could not connect: ' . MysqL_error()); 
  6.   } 
  7. $db_selected = MysqL_select_db(test_db$con); 
  8. $sql = select * from person
  9. $result = MysqL_query($sql,$con); 
  10. echo MysqL_result($result,0); 
  11. MysqL_close($con); 
  12. ?> 

MysqL_fetch_row():优点在于执行效率在4种方法中最高;不足在于只能用数字作为属性索引来获得属性值,在使用时非常容易出现混淆;

MysqL_fetch_row() 函数从结果集中取得一行作为数字数组。

语法:MysqL_fetch_row(data) 

参数:data 必需,要使用的数据指针,该数据指针是从 MysqL_query() 返回的结果。

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

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

返回值:返回根据所取得的行生成的数组,如果没有更多行则返回 false,例子如下:

  1. <?PHP 
  2. $con = MysqL_connect(localhost,$con); 
  3. $sql = select * from person where lastname='adams'
  4. $result = MysqL_query($sql,$con); 
  5. print_r(MysqL_fetch_row($result)); 
  6. MysqL_close($con); 
  7. ?> 

输出

  1. array 
  2. [0] => adam
  3. [1] => john 
  4. [2] => london 

MysqL_fetch_array():执行效率同样高,同MysqL_fetch_row()相差无几,并且可以用属性名方式直接获得属性值,因此在实际应用中最常用;

定义和用法

MysqL_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有,返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。

语法:MysqL_fetch_array(data,array_type) 

参数:data 可选,规定规定要使用的数据指针,该数据指针是 MysqL_query() 函数产生的结果。 

array_type 可选,规定返回哪种结果,可能的值:

MysqL_assoc - 关联数组

MysqL_num - 数字数组

MysqL_both - 认,同时产生关联和数字数组

提示和注释

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

提示有很重要的一点必须指出,用 MysqL_fetch_array() 并不明显比用 MysqL_fetch_row() 慢,而且还明显提供了更多的值。

注释:函数返回的字段名是区分大小写的,例子:

  1. <?PHP 
  2. $con = MysqL_connect(localhost,$con); 
  3. print_r(MysqL_fetch_array($result)); 
  4. MysqL_close($con); 
  5. ?>
  6. //输出类似: 
  7. array 
  8. [0] => adam
  9. [lastname] => adam
  10. [1] => john 
  11. [firstname] => john 
  12. [2] => london 
  13. [city] => london 

MysqL_fetch_object():采用了面向对象思想,在设计思路上更为先进,如果习惯于用面向对象的思路来写程序,则会很自地选择它,其次,该方法的优点还体现在,对于结构较为负责的数据结果,在逻辑上更为清晰。

MysqL_fetch_object() 函数从结果集(记录集)中取得一行作为对象。

若成功的话,本函数MysqL_query() 获得一行,并返回一个对象,如果失败或没有更多的行,则返回 false。

语法:MysqL_fetch_object(data) 

参数:data 必需,该数据指针是从 MysqL_query() 返回的结果。 

提示和注释

注释:每个随后对 MysqL_fetch_object() 的调用都会返回记录集中的下一行。

注释:MysqL_fetch_object() 与 MysqL_fetch_array() 类似,只有一点区别 - 返回的是对象而不是数组,间接地,也意味着只能通过字段名来访问数组,而不是偏移量, peterabc123); 

  • if (!$con
  •   { 
  •   die('Could not connect: ' . MysqL_error()); 
  •   } 
  • $db_selected = MysqL_select_db(test_db,$con); 
  • $sql = select * from person
  • $result = MysqL_query($sql,$con); 
  • while ($row = MysqL_fetch_object($result)) 
  •   { 
  •   echo $row->firstname . <br />
  •   } 
  • MysqL_close($con); 
  • ?> 
  • 输出:john,george,thomas

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

    相关推荐