PHP Conference Japan 2024

mysql_num_fields

(PHP 4, PHP 5)

mysql_num_fields取得結果中的欄位數

警告

此擴充自 PHP 5.5.0 起已被棄用,並在 PHP 7.0.0 中被移除。建議改用 MySQLiPDO_MySQL 擴充。另請參閱 MySQL:選擇 API 指南。此函式的替代方案包括:

說明

mysql_num_fields(資源 $result): 整數|false

從查詢中擷取欄位數。

參數

result

正在被評估的 資源 結果。此結果來自呼叫 mysql_query() 函式。

回傳值

成功時,返回結果集 資源 中的欄位數;失敗時,返回 false

範例

範例 #1 mysql_num_fields() 範例

<?php
$result
= mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!
$result) {
echo
'無法執行查詢:' . mysql_error();
exit;
}

/* 返回 2,因為 id,email 等於兩個欄位 */
echo mysql_num_fields($result);
?>

注意事項

注意:

為了向後相容,可以使用以下已棄用的別名:mysql_numfields()

參見

新增註解

使用者貢獻的註解 3 則註解

php at jezusisheer dot nl
17 年前
請注意,如果您想取得表格的欄位數量,並且您正在使用「SHOW COLUMNS FROM $table」查詢,您將必須在結果上使用 mysql_num_rows() 而不是 mysql_num_fields()。仔細想想,這是合乎邏輯的,因為 SHOW COLUMNS 查詢返回的結果包含六個欄位(Field、Type、Null、Key、Default 和 Extra),並且每個找到的欄位都有一列。如果您計算欄位數,您將始終得到 6。如果您計算列數,您將得到找到的欄位數。
matt at iwdt dot net
23 年前
以下是一種從表格中印出一列 <th> 標籤的方法
注意:我沒有測試過這個

$result = mysql_query("select * from table");

for ($i = 0; $i < mysql_num_fields($result); $i++) {
print "<th>".mysql_field_name($result, $i)."</th>\n";
}

如果有錯誤,請發表評論
bwark at stanford dot edu
23 年前
如果您只想要表格中的欄位數,您可以執行以下操作

<?php
$db_id
= mysql_connet();
$result = mysql_query("DESCRIBE [tableName]", $db_id);

$numFields = mysql_num_rows($result);
?>

因為「DESCRIBE」會針對表格中的每個欄位回傳一列(至少在 MySQL 中是如此),所以這樣做可以運作。
To Top