PHP mysql_fetch_array 函式基本語法
array mysql_fetch_array ( resource $result , int $result_type )
基本語法中有兩個參數,第一個參數 $result 就是 mysql_query 的結果集,必要項目,第二個參數 $result_type 則為控制儲存鍵名的關鍵,有三個選擇可以使用,如下所示。- MYSQL_NUM - 僅得到數字索引(類似 mysql_fetch_row 的結果)
- MYSQL_BOTH - mysql_fetch_array 預設值,可以為數字索引亦可為關連索引
- MYSQL_ASSOC - 僅得到關連索引(索引為字段)
PHP mysql_fetch_array 函式範例一、使用 MYSQL_NUM
<?
mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect DB.");
mysql_select_db("TestDB");
$result = mysql_query("SELECT test_id,test_name FROM topic");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf ("TID: %s NAME: %s", $row[0], $row[1]);
}
?>
第一個範例是以數字索引儲存,所以最終調用結果時,可以直接使用 $row[0] 以及 $row[1] 這樣的寫法,但不能使用 $row[test_id] 以及 $row[test_name] 這樣的寫法。mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect DB.");
mysql_select_db("TestDB");
$result = mysql_query("SELECT test_id,test_name FROM topic");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf ("TID: %s NAME: %s", $row[0], $row[1]);
}
?>
PHP mysql_fetch_array 函式範例二、使用 MYSQL_BOTH
<?
mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect DB.");
mysql_select_db("TestDB");
$result = mysql_query("SELECT test_id,test_name FROM topic");
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
printf ("TID: %s NAME: %s", $row[0], $row[1]);
}
?>
範例二採用了 MYSQL_BOTH 參數,所以調用時,無論使用 $row[0]、$row[1] 或 $row[test_id]、$row[test_name] 都是可行的做法。mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect DB.");
mysql_select_db("TestDB");
$result = mysql_query("SELECT test_id,test_name FROM topic");
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
printf ("TID: %s NAME: %s", $row[0], $row[1]);
}
?>
PHP mysql_fetch_array 函式範例三、使用 MYSQL_ASSOC
<?
mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect DB.");
mysql_select_db("TestDB");
$result = mysql_query("SELECT test_id,test_name FROM topic");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
printf ("TID: %s NAME: %s", $row[test_id], $row[test_name]);
}
?>
範例三使用 MYSQL_ASSOC 參數,所以最終調用時,僅能使用 $row[test_id]、$row[test_name] 這樣的寫法,使用數字索引的調用方式將無法取得陣列值。mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect DB.");
mysql_select_db("TestDB");
$result = mysql_query("SELECT test_id,test_name FROM topic");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
printf ("TID: %s NAME: %s", $row[test_id], $row[test_name]);
}
?>
以上即為 PHP mysql_fetch_array 函式的用法以及三種參數的差異,請自行依需求調整。
延伸閱讀