SQLite3::openBlob
Открывает ресурс потока для чтения BLOB
&reftitle.description;
public resourcefalseSQLite3::openBlob
stringtable
stringcolumn
introwid
stringdatabase"main"
intflagsSQLITE3_OPEN_READONLY
Открывает ресурс потока для чтения или записи BLOB, который будет выбран:
SELECT column FROM database.table WHERE rowid = rowid
Невозможно изменить размер BLOB путём записи в поток.
Вместо этого необходимо выполнить запрос UPDATE, возможно, используя SQLite-функцию zeroblob(),
чтобы задать желаемый размер BLOB.
&reftitle.parameters;
table
Название таблицы.
column
Название столбца.
rowid
Идентификатор строки.
database
Символическое название базы данных
flags
Либо SQLITE3_OPEN_READONLY,
либо SQLITE3_OPEN_READWRITE,
чтобы открыть поток только для чтения или для чтения и записи, соответственно.
&reftitle.returnvalues;
Возвращает ресурс потока&return.falseforfailure;.
&reftitle.changelog;
&Version;
&Description;
7.2.0
Добавлен параметр flags, позволяющий
записать BLOB; ранее поддерживалось только чтение.
&reftitle.examples;
Пример использования SQLite3::openBlob
exec('CREATE TABLE test (text text)');
$conn->exec("INSERT INTO test VALUES ('Lorem ipsum')");
$stream = $conn->openBlob('test', 'text', 1);
echo stream_get_contents($stream);
fclose($stream); // обязательно, иначе на следующей строке произойдёт ошибка
$conn->close();
?>
]]>
&example.outputs;
Пошаговая запись BLOB
exec('CREATE TABLE test (text text)');
$conn->exec("INSERT INTO test VALUES (zeroblob(36))");
$stream = $conn->openBlob('test', 'text', 1, 'main', SQLITE3_OPEN_READWRITE);
for ($i = 0; $i < 3; $i++) {
fwrite($stream, "Lorem ipsum\n");
}
fclose($stream);
echo $conn->querySingle("SELECT text FROM test");
$conn->close();
?>
]]>
&example.outputs;