mysql fetch 系列函数

时间:2021-08-17 22:41:59

浏览器输出内容同上。

当使用 MYSQL_BOTH 或省略该参数是,将同时具有 MYSQL_NUM 与 MYSQL_ ASSOC 的特性。

MySQL mysql_fetch_array 函数取得查询结果中的一行作为数组

mysql_fetch_* 列函数

mysql_fetch_* 列函数的主要功能是从查询返回的结果集中取得相关的查询结果,主要包括:

  • mysql_fetch_array():从结果集中取得一行作为关联数组或索引数组,或二者兼有
  • mysql_fetch_row():从结果集中取得一行作为枚举数组
  • mysql_fetch_assoc():从结果集中取得一行作为关联数组
  • mysql_fetch_object():从结果集中取得一行作为对象
  • mysql_fetch_field():从结果集中取得字段信息并作为对象返回
  • mysql_fetch_lengths():取得结果集中取得一行每个字段内容输出的长度

     mysql_fetch_array()

mysql_fetch_array() 函数用于从结果集中取得一行作为关联数组或索引数组,或二者兼有。成功返回一个数组,否则返回 FALSE 。

语法:

array mysql_fetch_array( resource result [, int result_type] ) 

参数说明:
参数 说明
result 查询函数(如 mysql_query)返回的数据集资源
result_type

可选常量,标明数组结果类型,可接受值如下:

  1. MYSQL_BOTH:默认,得到一个同时包含关联和数字索引的数组,用字段名作为键名
  2. MYSQL_ASSOC:只得到关联索引的数组
  3. MYSQL_NUM:只得到数字索引的数组

例子 1 ,使用 MYSQL_NUM :

<?php $conn = @mysql_connect("localhost","root","root123");
 if (!$conn){    
     die("连接数据库失败:" . mysql_error());
 mysql_select_db("test", $conn); 
mysql_query("set character set 'gbk'"); 
 $result = mysql_query("SELECT uid,username FROM user");
 while($row = mysql_fetch_array($result, MYSQL_NUM)){    
  echo "用户ID:".$row[0]."<br />";   
  echo "用户名:".$row[1]."<br />"; } ?>

浏览器输出:
用户ID:1 
用户名:admin 
用户ID:2
 用户名:小明
 用户ID:3 
 用户名:Jack 
用户ID:4 
用户名:小王

例子 2 ,使用 MYSQL_ ASSOC :
//重复代码省略 $result = mysql_query("SELECT uid,username FROM user");
 while($row = mysql_fetch_array($result, MYSQL_ ASSOC)){    
 echo "用户ID:".$row['uid']."<br />";    
 echo "用户名:".$row['username']."<br />";
 }

浏览器输出内容同上。

当使用 MYSQL_BOTH 或省略该参数是,将同时具有 MYSQL_NUM 与 MYSQL_ ASSOC 的特性。

说明

  1. 本函数返回的字段名作为数组键值是区分大小写的
  2. 用 mysql_fetch_array() 并不明显 比用 mysql_fetch_row() 慢,而且还提供了明显更多的值
  3. 该函数只从当前数据指针取得一行数据作为结果返回,如果执行过一次,会将数据指针指向下一列数据
  4. 如果要取得多行或者全部数据,需要使用循环结构将数据逐行取出
  5. 如果结果中的两个或以上的列具有相同字段名,最后一列将优先。要访问同名的其它列,必须用该列的数字索引或给该列起个别名
  6. mysql_fetch_row()

    PHP 的 MySQL 操作函数 mysql_fetch_row() 用于从结果集中取得一行作为枚举数组。成功返回一个数组,否则返回 FALSE 。 语法:
    array mysql_fetch_row( resource result ) 

    该函数表现与 mysql_fetch_array( resource result, MYSQL_NUM ) 一致,请参考mysql_fetch_array() 函数用法,在此不在赘述。

    mysql_fetch_object()

    PHP 操作 MySQL 的函数 mysql_fetch_object() 用于从结果集中取得一行作为对象,成功返回一个对象,否则返回 FALSE 。

    语法:

    object mysql_fetch_object( resource result ) 

    例子:

    <?php $conn = @mysql_connect("localhost","root","root123"); if (!$conn){     die("连接数据库失败:" . mysql_error()); }  mysql_select_db("test", $conn); mysql_query("set character set 'gbk'");  $result = mysql_query("SELECT uid,username FROM user"); while($row = mysql_fetch_object($result)){     echo "用户ID:".$row->uid."<br />";     echo "用户名:".$row->username."<br />"; } ?> 

    浏览器输出:

    用户ID:1 用户名:admin 用户ID:2 用户名:小明 用户ID:3 用户名:Jack 用户ID:4 用户名:小王