cubrid_lob2_read

Read from BLOB/CLOB data

&reftitle.description; `string` `cubrid_lob2_read` `resource` `lob_identifier` `int` `len`

The `cubrid_lob2_read` function reads `len` bytes from the LOB data and returns the bytes read.

&reftitle.parameters;

`lob_identifier`

- Lob identifier as a result of `cubrid_lob2_new` or get from the result set.

`len`

- Length from buffer you want to read from the lob data.

&reftitle.returnvalues;

Returns the contents as a string, &false; when there is no more data, or &null; on failure.

&reftitle.examples;

### `cubrid_lob2_read` example 1

    <?php
    // test_lob (id INT, contents CLOB)

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

    $req = cubrid_execute($conn, "select * from test_lob");

    $row = cubrid_fetch_row($req, CUBRID_LOB);

    print "position now is " . cubrid_lob2_tell($row[1]) . "\n";

    cubrid_lob2_seek($row[1], 10, CUBRID_CURSOR_FIRST);

    print "\nposition after moving farword is " . cubrid_lob2_tell($row[1]) . "\n";

    $data = cubrid_lob2_read($row[1], 12);

    print "\nposition after reading is " . cubrid_lob2_tell($row[1]) . "\n";

    print $data . "\n";

    cubrid_lob2_seek($row[1], 5, CUBRID_CURSOR_CURRENT);

    print "\nposition after moving again is " . cubrid_lob2_tell($row[1]) . "\n";

    $data = cubrid_lob2_read($row[1], 20);
    print $data . "\n";

    cubrid_disconnect($conn);
    ?>

### `cubrid_lob2_read` example 2

    <?php
    // test_lob (id INT, contents CLOB)

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

    $req = cubrid_execute($conn, "select * from test_lob");

    $row = cubrid_fetch_row($req, CUBRID_LOB);

    while (true) {
        if ($data = cubrid_lob2_read($row[1], 1024)) {
            print $data . "\n";
        }
        elseif ($data === false) {
            print "There is no more data\n";
            break;
        }
        else {
            print "There must some errors\n";
            break;
        }
    }

    cubrid_disconnect($conn);
    ?>

&reftitle.seealso;

- `cubrid_lob2_write`
- `cubrid_lob2_seek`
- `cubrid_lob2_seek64`
- `cubrid_lob2_tell`
- `cubrid_lob2_tell64`
- `cubrid_lob2_size`
- `cubrid_lob2_size64`