PHP操作MySQL的mysql_fetch_* 函数的常见用法教程

yipeiwu_com5年前Mysql基础

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:可选常量,标明数组结果类型,可接受值如下:
  • MYSQL_BOTH:默认,得到一个同时包含关联和数字索引的数组,用字段名作为键名
  • MYSQL_ASSOC:只得到关联索引的数组
  • 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 的特性。
说明
本函数返回的字段名作为数组键值是区分大小写的
用 mysql_fetch_array() 并不明显 比用 mysql_fetch_row() 慢,而且还提供了明显更多的值
该函数只从当前数据指针取得一行数据作为结果返回,如果执行过一次,会将数据指针指向下一列数据
如果要取得多行或者全部数据,需要使用循环结构将数据逐行取出
如果结果中的两个或以上的列具有相同字段名,最后一列将优先。要访问同名的其它列,必须用该列的数字索引或给该列起个别名


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
用户名:小王

相关文章

php提示Warning:mysql_fetch_array() expects的解决方法

本文实例讲述了php提示Warning mysql_fetch_array() expects的解决方法,分享给大家供大家参考。具体分析如下: 在mysql数据库连接时碰到Warning...

PHP中使用localhost连接Mysql不成功的解决方法

发现问题 昨天在帮同事编译安装Linux环境时,遇到一个问题: WEB服务器是apache,数据库是MySQL。 于是写了一个测试连接数据库的PHP页面: 复制代码 代码如下:$mysq...

脚本安全的本质_PHP+MYSQL第1/3页

一 前言 问题的存在 从代码级别上,也就是应用层次上考虑代码安全的话(也就是不考虑底层的语言本身等问题的漏洞),脚本安全问题就是函数和变量的问题。变量直接或者间接的接收用户不安全的的输入...

PHP 中执行排序与 MySQL 中排序

此文首发在 InfoQ 中文站。作者:明灵(dragon) , Fenng . Note:要转载的朋友请注意注明这篇文章的第一作者!这篇文章是dragon 朋友来邮探讨后他做的一个总结。...

MySQL的FIND_IN_SET函数使用方法分享

很多时候我们在设计数据库时有这种情况,比如: 有个文章表里面有个type字段,他存储的是文章类型,有 1头条,2推荐,3热点,4图文 .....11,12,13等等 现在有篇文章他既是...