# pg_last_oid

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_last_oid — Retourne l'identifiant de la dernière ligne

### Description

pg_last_oid(PgSql\Result `$result`): string|int|false

pg_last_oid() sert à récupérer le OID assigné à une ligne insérée.

Le champ OID est devenu optionnel depuis PostgreSQL 7.2 et ne sera plus présent par défaut dans PostgreSQL 8.1. Lorsque le champ OID n'est pas présent dans la table, le programmeur doit utiliser pg_result_status() pour vérifier si la ligne a été correctement insérée.

Pour obtenir la valeur d'un champ `SERIAL` dans une ligne insérée, il est nécessaire d'utiliser la fonction `CURRVAL` de PostgreSQL en nommant la séquence à qui la dernière valeur est requise. Si le nom de la séquence est inconnu, la fonction PostgreSQL 8.0 `pg_get_serial_sequence` est nécessaire.

PostgreSQL 8.1 a une fonction `LASTVAL` qui retourne la valeur de la séquence la plus récemment utilisée de la session. Ceci permet d'éviter de nommer la séquence, la table ou la colonne.

> Note:

> Auparavant, cette fonction s'appelait pg_getlastoid().

### Liste de paramètres

`result`

  Une instance PgSql\Result, retourné par pg_query(), pg_query_params(), ou pg_execute() (entre autres).

### Valeurs de retour

Un entier ou chaîne de caractères contenant le OID assigné à la plus récente ligne insérée dans la connexion `connection` spécifiée ou `false` en cas d'erreur ou de OID indisponible.

### Historique

Version | Description
--- | ---
8.1.0 | Le paramètre `result` attend désormais une instance de PgSql\Result ; auparavant, une resource était attendu.

### Exemples

Exemple #1 Exemple avec pg_last_oid()

`<?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);
?>`

### Voir aussi

- pg_query() - Exécute une requête PostgreSQL
- pg_result_status() - Lit le statut du résultat