- 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 。
语法:
1
|
array
mysql_fetch_array( resource result [, int result_type] )
|
参数说明:
- result:查询函数(如 mysql_query)返回的数据集资源
- result_type:可选常量,标明数组结果类型,可接受值如下:
- MYSQL_BOTH:默认,得到一个同时包含关联和数字索引的数组,用字段名作为键名
- MYSQL_ASSOC:只得到关联索引的数组
- MYSQL_NUM:只得到数字索引的数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?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 />"
;
}
?>
|
浏览器输出:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
用户ID:1
用户名:admin
用户ID:2
用户名:小明
用户ID:3
用户名:Jack
用户ID:4
用户名:小王
|
1
2
3
4
5
6
|
$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 。
语法:
1
|
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 。
语法:
1
|
object mysql_fetch_object( resource result )
|
例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?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 />"
;
}
?>
|
浏览器输出:
1
2
3
4
5
6
7
8
|
用户ID:1
用户名:admin
用户ID:2
用户名:小明
用户ID:3
用户名:Jack
用户ID:4
用户名:小王
|