pg_lo_write

Write to a large object

&reftitle.description; ``int``false```pg_lo_write` `PgSql\Lob` `lob` `string` `data` ``int``null```length`&null;

`pg_lo_write` writes data into a large object at the current seek position.

To use the large object interface, it is necessary to enclose it within a transaction block.

This function used to be called `pg_lowrite`.

&reftitle.parameters;

`lob`

- &pgsql.parameter.lob;

`data`

- The data to be written to the large object. If `length` is an `int` and is less than the length of `data`, only `length` bytes will be written.

`length`

- An optional maximum number of bytes to write. Must be greater than zero and no greater than the length of `data`. Defaults to the length of `data`.

&reftitle.returnvalues;

The number of bytes written to the large object, or &false; on error.

&reftitle.changelog;

&Version; | &Description;
&pgsql.changelog.lob-object;
8.0.0 | `length` is now nullable.

&reftitle.examples;

### `pg_lo_write` example

    <?php
       $doc_oid = 189762345;
       $data = "This will overwrite the start of the large object.";
       $database = pg_connect("dbname=jacarta");
       pg_query($database, "begin");
       $handle = pg_lo_open($database, $doc_oid, "w");
       $data = pg_lo_write($handle, $data);
       pg_query($database, "commit");
    ?>

&reftitle.seealso;

- `pg_lo_create`
- `pg_lo_open`