mysql_fetch_array()

从结果集取出数组

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

其使用语法如下:

1
mysql_fetch_array(data,array_type)
参数 data 是可选的。它规定规定要使用的数据指针。该数据指针是 mysql_query() 函数产生的结果。
参数 array_type 也是可选的。它规定返回哪种结果。可能的值:MYSQL_ASSOC - 关联数组、MYSQL_NUM - 数字数组、MYSQL_BOTH - 默认。同时产生关联和数字数组。
下面是该函数的一个例子:

01
<?php
02
    $con = mysql_connect("localhost", "hello", "321");
03
    if (!$con)
04
    {
05
        die('Could not connect: ' . mysql_error());
06
    }
07
    $db_selected = mysql_select_db("test_db",$con);
08
    $sql = "SELECT * from Person WHERE Lastname='Adams'";
09
    $result = mysql_query($sql,$con);
10
    print_r(mysql_fetch_array($result));
11
    mysql_close($con);
12
?>
输出类似:

1
Array
2
(
3
[0] => Adams
4
[LastName] => Adams
5
[1] => John
6
[FirstName] => John
7
[2] => London
8
[City] => London
9
)
mysql_fetch_array() 这个函数只是从记录集中取一条记录并赋值给一个数组,然后指针移到下一条记录。不是把整个结果集都直接赋值到一个二维数组。所以要取出整个数据列的数据,需要用循环解决。

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

1
$query_1 = mysql_query("select * from count order by count_id");
2
while($areas = mysql_fetch_array($query_1))
3
{
4
    // 获取数据表列中最后那个值,若为空则表明上次查询并非该列
5
    $area_prev = $areas["count_area"];
6
    if(!empty($areas["count_area"]))
7
        $area_query = $areas["count_area"];
8
}
变量 $area_prev 为数据列的最后一个值,而 $area_query 则是数据列最后一个非空值。

 

posted @ 2016-04-12 11:18  ╭(╯3╰)╮尝尝鲜  阅读(1067)  评论(0编辑  收藏  举报