pg_last_oid

Returns the last row's OID

&reftitle.description; ``string``int``false```pg_last_oid` `PgSql\Result` `result`

`pg_last_oid` is used to retrieve the `OID` assigned to an inserted row.

OID field became an optional field from PostgreSQL 7.2 and will not be present by default in PostgreSQL 8.1. When the OID field is not present in a table, the programmer must use `pg_result_status` to check for successful insertion.

To get the value of a `SERIAL` field in an inserted row, it is necessary to use the PostgreSQL `CURRVAL` function, naming the sequence whose last value is required. If the name of the sequence is unknown, the `pg_get_serial_sequence` PostgreSQL 8.0 function is necessary.

PostgreSQL 8.1 has a function `LASTVAL` that returns the value of the most recently used sequence in the session. This avoids the need for naming the sequence, table or column altogether.

This function used to be called `pg_getlastoid`.

&reftitle.parameters;

`result`

- &pgsql.parameter.result;
&reftitle.returnvalues;

An `int` or `string` containing the OID assigned to the most recently inserted row in the specified `connection`, or &false; on error or no available OID.

&reftitle.changelog;

&Version; | &Description;
&pgsql.changelog.result-object;

&reftitle.examples;

### `pg_last_oid` example

    <?php
      // Connect to the database
      pg_connect("dbname=mark host=localhost");

      // Create a sample table
      pg_query("CREATE TABLE test (a INTEGER) WITH OIDS");

      // Insert some data into it
      $res = pg_query("INSERT INTO test VALUES (1)");

      $oid = pg_last_oid($res);
    ?>

&reftitle.seealso;

- `pg_query`
- `pg_result_status`