(PECL CUBRID >= 8.4.1)
cubrid_lob2_seek64 — Move the cursor of a lob object
$lob_identifier
, string $offset
, int $origin
= CUBRID_CURSOR_CURRENT
) : bool
The cubrid_lob2_seek64() function is used to move the cursor
position of a lob object by the value set in the offset
argument, to the direction set in the origin
argument.
If the offset
you want to move is larger than an integer
data can be stored, you can use this function.
To set the origin
argument, you can use CUBRID_CURSOR_FIRST
to set the cursor position moving forward offset
units from
the first beginning. In this case, offset
must be a positive value.
If you use CUBRID_CURSOR_CURRENT
for origin
, you can move
forward or backward. and offset
can be positive or negative.
If you use CUBRID_CURSOR_LAST
for origin
, you can move backward
offset
units from the end of LOB object and offset
only can be positive.
Note:
If you use this function to move the cursor position of the lob object, you should pass
offset
as a string.
lob_identifier
Lob identifier as a result of cubrid_lob2_new() or get from the result set.
offset
Number of units you want to move the cursor.
origin
This parameter can be the following values:
CUBRID_CURSOR_FIRST: move forward from the first beginning.
CUBRID_CURSOR_CURRENT: move forward or backward from the current position.
CUBRID_CURSOR_LAST: move backward at the end of LOB object.
成功时返回 true
, 或者在失败时返回 false
。
Example #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);
?>