# cubrid_lob2_seek

(PECL CUBRID >= 8.4.1)

cubrid_lob2_seek — Move the cursor of a lob object

### 说明

cubrid_lob2_seek ( resource `$lob_identifier` , int `$offset` [, int `$origin` = CUBRID_CURSOR_CURRENT ] ) : bool

The cubrid_lob2_seek() 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.

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.

### 参数

`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` if the process is successful and `FALSE` for failure.

### 范例

Example #1 cubrid_lob2_seek() example

    <?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);
    ?>

### 参见

- cubrid_lob2_read() - Read from BLOB/CLOB data
- cubrid_lob2_write() - Write to a lob object
- cubrid_lob2_seek64() - Move the cursor of a lob object
- cubrid_lob2_tell() - Tell the cursor position of the LOB object
- cubrid_lob2_tell64() - Tell the cursor position of the LOB object
- cubrid_lob2_size() - Get a lob object's size
- cubrid_lob2_size64() - Get a lob object's size