<big id="wsq5h"><meter id="wsq5h"></meter></big>
<tt id="wsq5h"><big id="wsq5h"><form id="wsq5h"></form></big></tt>
  • <big id="wsq5h"></big>
  • <form id="wsq5h"><pre id="wsq5h"></pre></form>

    SQLite3::openBlob

    (PHP 5 >= 5.3.0, PHP 7, PHP 8)

    SQLite3::openBlobOpens a stream resource to read a BLOB

    說(shuō)明

    public SQLite3::openBlob(
        string $table,
        string $column,
        int $rowid,
        string $database = "main",
        int $flags = SQLITE3_OPEN_READONLY
    ): resource|false

    Opens a stream resource to read or write a BLOB, which would be selected by:

    SELECT column FROM database.table WHERE rowid = rowid

    注意: It is not possible to change the size of a BLOB by writing to the stream. Instead, an UPDATE statement has to be executed, possibly using SQLite's zeroblob() function to set the desired BLOB size.

    參數(shù)

    table

    The table name.

    column

    The column name.

    rowid

    The row ID.

    database

    The symbolic name of the DB

    flags

    Either SQLITE3_OPEN_READONLY or SQLITE3_OPEN_READWRITE to open the stream for reading only, or for reading and writing, respectively.

    返回值

    Returns a stream resource, 或者在失敗時(shí)返回 false.

    更新日志

    版本 說(shuō)明
    7.2.0 The flags parameter has been added, allowing to write BLOBs; formerly only reading was supported.

    范例

    示例 #1 SQLite3::openBlob() example

    <?php
    $conn 
    = new SQLite3(':memory:');
    $conn->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); // mandatory, otherwise the next line would fail
    $conn->close();
    ?>

    以上例程會(huì)輸出:

    Lorem ipsum
    

    示例 #2 Incrementally writing a BLOB

    <?php
    $conn 
    = new SQLite3(':memory:');
    $conn->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();
    ?>

    以上例程會(huì)輸出:

    Lorem ipsum
    Lorem ipsum
    Lorem ipsum