PHP Conference Japan 2024

cubrid_lob2_seek64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_seek64移動 lob 物件的游標

說明

cubrid_lob2_seek64(資源 $lob_identifier, 字串 $offset, 整數 $origin = CUBRID_CURSOR_CURRENT): 布林值

cubrid_lob2_seek64() 函式用於將 lob 物件的游標位置依據 offset 參數設定的值,以及 origin 參數設定的方向進行移動。如果想要移動的 offset 值大於整數資料型態所能儲存的範圍,則可以使用此函式。

設定 origin 參數為 CUBRID_CURSOR_FIRST 時,游標位置會從起始位置向前移動 offset 單位。在此情況下,offset 必須為正值。

如果將 origin 設定為 CUBRID_CURSOR_CURRENT,則可以向前或向後移動,且 offset 可以是正值或負值。

如果將 origin 設定為 CUBRID_CURSOR_LAST,則游標位置會從 LOB 物件的結尾向後移動 offset 單位,且 offset 只能是正值。

注意事項:

使用此函式移動 lob 物件的游標位置時,應將 offset 以字串形式傳遞。

參數

lob_identifier

cubrid_lob2_new() 的執行結果或從結果集中取得的 Lob 識別碼。

offset

想要移動游標的單位數量。

origin

此參數可以是下列值

CUBRID_CURSOR_FIRST:從起始位置向前移動。

CUBRID_CURSOR_CURRENT:從目前位置向前或向後移動。

CUBRID_CURSOR_LAST:從 LOB 物件的結尾向後移動。

回傳值

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

範例

範例 #1 cubrid_lob2_seek64() 範例

<?php
// test_lob (id INT, contents CLOB)
// doc_1.txt 的資料長度應大於 20101029056306120215。

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES (?, ?)");
cubrid_bind($req, 1, 1);

$lob = cubrid_lob2_new($conn, "clob");
cubrid_lob2_import($lob, "doc_1.txt");
cubrid_lob2_bind($req, 2, $lob, 'CLOB'); // 或 cubrid_lob2_bind($req, 2, $lob);

cubrid_execute($req);

cubrid_lob2_close($lob);

$req = cubrid_execute($conn, "select * from test_lob");
$row = cubrid_fetch_row($req, CUBRID_LOB);
$lob = $row[1];

cubrid_lob2_seek64($lob, "20101029056306120215", CUBRID_CURSOR_FIRST);
$data = cubrid_lob2_read($lob, 20);
echo
$data."\n";
cubrid_disconnect($conn);
?>

另請參閱

新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top