您的位置:首页 > Web前端

PHP函数补完:mysql_fetch_array()

2011-01-05 00:00 295 查看
mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有。返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。

其使用语法如下:

mysql_fetch_array(data,array_type)


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

参数 array_type 也是可选的。它规定返回哪种结果。可能的值:MYSQL_ASSOC - 关联数组、MYSQL_NUM - 数字数组、MYSQL_BOTH - 默认。同时产生关联和数字数组。

下面是该函数的一个例子:

<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db("test_db",$con);
$sql = "SELECT * from Person WHERE Lastname='Adams'";
$result = mysql_query($sql,$con);
print_r(mysql_fetch_array($result));
mysql_close($con);
?>

输出类似:

Array
(
[0] => Adams
[LastName] => Adams
[1] => John
[FirstName] => John
[2] => London
[City] => London
)

mysql_fetch_array() 这个函数只是从记录集中取一条记录并赋值给一个数组,然后指针移到下一条记录。不是把整个结果集都直接赋值到一个二维数组。所以要取出整个数据列的数据,需要用循环解决。

这么一来的话,如果要定位某数据列的某个值,那么可以用循环取出数据列的所以值,然后再定位,比如以下例子:

$query_1 = mysql_query("select * from count order by count_id");
while($areas = mysql_fetch_array($query_1))
{
// 获取数据表列中最后那个值,若为空则表明上次查询并非该列
$area_prev = $areas["count_area"];
if(!empty($areas["count_area"]))
$area_query = $areas["count_area"];
}

变量 $area_prev 为数据列的最后一个值,而 $area_query 则是数据列最后一个非空值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息