关于 PHP 中 mysql_fetch_array() 函数

关于 PHP 中 mysql_fetch_array() 函数
mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有。返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。
其使用语法如下:
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
08 $db_selected = mysql_select_db("test_db",$con);
09 $sql = "SELECT * from Person WHERE Lastname='Adams'";
10 $result = mysql_query($sql,$con);
11 print_r(mysql_fetch_array($result));
12
13 mysql_close($con);
14?>
输出类似:
1Array
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");
2while($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 则是数据列最后一个非空值
Tags: 

延伸阅读

最新评论

发表评论