(PECL CUBRID >= 8.4.1)
cubrid_lob2_read — Read from BLOB/CLOB data.
$lob_identifier
, int $len
)
The cubrid_lob2_read() function reads len
bytes from the LOB data, then return it.
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.
Returns the contents as a string.
FALSE
when there is no more data.
NULL on failure.
Example #1 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 forword is " . cubrid_lob2_tell($row[1]) . "\n";
$data = cubrid_lob2_read($lob, 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($lob, 20);
print $data . "\n";
cubrid_disconnect($conn);
?>
Example #2 cubrid_lob2_read() example 2
<?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);
while (true) {
if ($data = cubrid_lob2_read($lob, 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);
?>