(PECL CUBRID >= 8.4.1)
cubrid_lob2_read — Производит чтение из данных BLOB/CLOB
$lob_identifier
, int $len
): string
Функция cubrid_lob2_read() считывает
len
байтов из данных LOB и возвращает прочитанные байты.
lob_identifier
Идентификатор LOB, возвращённый функцией cubrid_lob2_new() или полученный из результирующего набора.
len
Длина из буфера, используемая для чтения из данных LOB.
Возвращает содержимое в виде строки, false
, если данных больше нет, или
null
в случае возникновения ошибки.
Пример #1 Пример использования cubrid_lob2_read() 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 "текущая позиция - " . cubrid_lob2_tell($row[1]) . "\n";
cubrid_lob2_seek($row[1], 10, CUBRID_CURSOR_FIRST);
print "\nпозиция после движения вперед - " . cubrid_lob2_tell($row[1]) . "\n";
$data = cubrid_lob2_read($row[1], 12);
print "\nпозиция после чтения - " . cubrid_lob2_tell($row[1]) . "\n";
print $data . "\n";
cubrid_lob2_seek($row[1], 5, CUBRID_CURSOR_CURRENT);
print "\nпозиция после повторного движения вперед - " . cubrid_lob2_tell($row[1]) . "\n";
$data = cubrid_lob2_read($row[1], 20);
print $data . "\n";
cubrid_disconnect($conn);
?>
Пример #2 Пример использования cubrid_lob2_read() 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 "Данных больше нет\n";
break;
}
else {
print "Произошла ошибка\n";
break;
}
}
cubrid_disconnect($conn);
?>