(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_last_oid — Returns the last row's OID
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.
Note:
This function used to be called pg_getlastoid().
result
An PgSql\Result instance, returned by pg_query(), pg_query_params() or pg_execute()(among others).
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.
Version | Description |
---|---|
8.1.0 |
The result parameter expects an PgSql\Result
instance now; previously, a resource was expected.
|
Example #1 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);
?>