(PECL CUBRID >= 8.4.1)
cubrid_lob2_seek — Перемещает курсор LOB-объекта
$lob_identifier
, int $offset
, int $origin
= CUBRID_CURSOR_CURRENT): bool
Функция cubrid_lob2_seek() используется для перемещения позиции курсора LOB-объекта на значение,
заданное в параметре offset
, в направлении, заданном в параметре origin
.
Чтобы установить параметр origin
, вы можете использовать CUBRID_CURSOR_FIRST
,
чтобы установить позицию курсора, перемещающегося вперёд на offset
единиц от начала LOB-объекта.
В этом случае параметр offset
должен быть положительным значением.
Если вы используете CUBRID_CURSOR_CURRENT
для origin
,
вы можете двигаться вперёд или назад, offset
может быть положительным или отрицательным.
Если вы используете CUBRID_CURSOR_LAST
для origin
,
вы можете перемещать назад на единицу offset
с конца LOB-объекта.
В этом случае параметр offset
должен быть положительным значением.
lob_identifier
Идентификатор LOB в результате работы функции cubrid_lob2_new() или полученный из набора результатов.
offset
Количество единиц, на которое нужно переместить курсор.
origin
Параметр может иметь следующие значения:
CUBRID_CURSOR_FIRST: двигаться вперёд от начала LOB-объекта.
CUBRID_CURSOR_CURRENT: двигаться вперёд или назад от текущей позиции.
CUBRID_CURSOR_LAST: двигаться назад с конца LOB-объекта.
Возвращает true
в случае успешного выполнения или false
в случае возникновения ошибки.
Пример #1 Пример использования cubrid_lob2_seek()
<?php
// test_lob (id INT, contents CLOB)
$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(2, ?)");
$lob = cubrid_lob2_new($conn, 'CLOB');
$len = cubrid_lob2_write($lob, "Hello world");
cubrid_lob2_seek($lob, 0, CUBRID_CURSOR_LAST);
cubrid_lob2_write($lob, "beautiful");
cubrid_lob2_seek($lob, 15, CUBRID_CURSOR_FIRST);
$data = cubrid_lob2_read($lob, 5);
echo $data."\n";
cubrid_lob2_bind($req, 1, $lob);
cubrid_execute($req);
cubrid_disconnect($conn);
?>