从结果集取出数组
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 则是数据列最后一个非空值。