2024 年 PHP 日本研討會

mysql_field_seek

(PHP 4, PHP 5)

mysql_field_seek設定結果指標到指定的欄位偏移量

警告

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

說明

mysql_field_seek(資源 $result, 整數 $field_offset): 布林值

將指標移至指定的欄位偏移量。如果下一次呼叫 mysql_fetch_field() 時沒有包含欄位偏移量,則會返回在 mysql_field_seek() 中指定的欄位偏移量。

參數

result

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

field_offset

數值欄位偏移量。 field_offset0 開始。如果 field_offset 不存在,也會發出等級為 E_WARNING 的錯誤。

返回值

成功時返回 true,失敗時返回 false

另請參閱

新增註解

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

adrien dot gibrat at gmail dot com
16 年前
一點也不笨!!

這表示 "mysql_field_seek" 和 "mysql_data_seek" 正在移動相同的游標... 遍歷結果資源的列和欄。

也表示當游標到達最後一個欄位(也就是列)時,例如使用 "mysql_fetch_field" 迴圈時,游標會移至新的列。

呼叫 "mysql_fetch_object"、"mysql_fetch_array"、"mysql_fetch_assoc"
和 "mysql_fetch_row" 似乎會將游標放置在行的末尾。

因此,在此之後,如果沒有欄位索引就呼叫 "mysql_fetch_field",將返回 false。
chris at igwsolutions dot com
16 年前
我花了很多時間試圖讓範例程式碼運作,但範例程式碼無法運作。
要完成範例程式碼嘗試執行的操作,您需要使用 mysql_data_seek

假設我們有一個名為 testing 的表格,其中包含
id name
1 Hassan
2 Jack
3 Rose
---------------

以下是一個可以完成上述範例的程式碼範例。

由於我更習慣於物件導向的設定,因此我使用了 mysql_fetch_object

<?php
require("myConnenctionFile.php");

$sql="SELECT * from testing";
$result=mysql_query($sql);

$row = mysql_fetch_object($result);
echo
$row->id . ' ' . $row->name; // 輸出為 (1 Hassan)
mysql_data_seek($result,2);
$row = mysql_fetch_object($result);
echo
$row->id . ' ' . $row->name; // 輸出為 (3 Rose)
echo "<BR><BR>";
?>
poulpillusion at free dot fr
17 年前
一個愚蠢的評論... 但它可能會幫人們節省一些時間
mysql_field_seek != mysql_data_seek

為了從頭再次擷取資源結果,您將使用 mysql_data_seek(id, 0)
Hassan Kazem
16 年前
這個函數的一個例子
假設我們有一個包含以下內容的 table1
ID 名稱
1 Hassan
2 Jack
3 Rose
---------------
<?php
mysql_connect
("sql.server.com", "username", "password") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());
$sql="SELECT * from table1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
echo
$row['ID'] . ' ' . $row['Name']; // 輸出為 (1 Hassan)
mysql_field_seek($result,2);
echo
$row['ID'] . ' ' . $row['Name']; // 輸出為 (3 Rose)
?>
---------------
// 你可以看到 seek 指令將指標向前移動了一步並跳過了第 2 行
To Top