標籤:
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]; // 4210 echo $row[1]; // the email value11 ?>
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);?>
PHP中mysql_fetch_row 和 mysql_fetch_array()的區別與使用