PHP8 cubrid_lob2_seek64
(PECL CUBRID >= 8.4.1)
cubrid_lob2_seek64 — 移动 lob 对象的光标
说明
cubrid_lob2_seek64(resource $lob_identifier, string $offset, int $origin = CUBRID_CURSOR_CURRENT): bool
cubrid_lob2_seek64() 函数用于移动光标 将 LOB 对象的位置按参数中设置的值,更改为参数中设置的方向。 如果要移动的 大于整数 数据可以存储,您可以使用此功能。offsetoriginoffset
要设置参数,可以使用 CUBRID_CURSOR_FIRST 设置光标位置向前移动单位 第一个开始。在这种情况下,必须为正值。originoffsetoffset
如果将 CUBRID_CURSOR_CURRENT 用于 ,则可以移动 向前或向后。可以是正的,也可以是负的。originoffset
如果将 CUBRID_CURSOR_LAST 用于 ,则可以从 LOB 对象的末尾向后移动单位,并且只能为正数。originoffsetoffset
注意:如果使用此函数移动 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() example
<?php
// test_lob (id INT, contents CLOB)
// Data length of doc_1.txt should be greater than 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'); // or 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);
?>
参见
- cubrid_lob2_read() - 从 BLOB/CLOB 数据读取
- cubrid_lob2_write() - 写入 lob 对象
- cubrid_lob2_seek() - 移动 lob 对象的光标
- cubrid_lob2_tell() - 告知 LOB 对象的光标位置
- cubrid_lob2_tell64() - 告知 LOB 对象的光标位置
- cubrid_lob2_size() - 获取 lob 对象的大小
- cubrid_lob2_size64() - 获取 lob 对象的大小