mysql_fetch_row() 從和指定的結果標識關聯的結果集中取得一行數據並作為數組返回。每個結果的列儲存在一個數組的單元中,偏移量從 0 開始。
依次調用 mysql_fetch_row() 將返回結果集中的下一行,如果沒有更多行則返回 FALSE
。
1 <?php 2 $result = mysql_query("SELECT id,email FROM people WHERE id = '42'"); 3 if (!$result) { 4 echo 'Could not run query: ' . mysql_error(); 5 exit; 6 } 7 $row = mysql_fetch_row($result); 8 9 echo $row[0]; // 42 10 echo $row[1]; // the email value 11 ?>
mysql_fetch_array() 是 mysql_fetch_row() 的擴展版本。除了將數據以數字索引方式儲存在數組中之外,還可以將數據作為關聯索引儲存,用字段名作為鍵名。
mysql_fetch_array() 中可選的第二個參數 result_type
是一個常量,可以接受以下值:MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH。本特性是 PHP 3.0.7 起新加的。本參數的默認值是 MYSQL_BOTH。
如果用了 MYSQL_BOTH,將得到一個同時包含關聯和數字索引的數組。用 MYSQL_ASSOC 只得到關聯索引(如同 mysql_fetch_assoc() 那樣),用 MYSQL_NUM 只得到數字索引(如同 mysql_fetch_row() 那樣)。
<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error()); mysql_select_db("mydb"); $result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { printf ("ID: %s Name: %s", $row["id"], $row["name"]); } mysql_free_result($result); ?>