Manuel PHP
Précédent |  | Suivant

# pg_last_oid

(PHP 4 >= 4.2.0, PHP 5)

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

## Description

string pg_last_oid ( resource result )

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`

  Ressource de résultat de requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre autres).

## Valeurs de retour

Une 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.

## Exemples

Exemple 1. Exemple avec pg_last_oid()

`<?php $pgsql_conn = pg_connect("dbname=mark host=localhost"); $res1 = pg_query("CREATE TABLE test (a INTEGER) WITH OIDS"); $res2 = pg_query("INSERT INTO test VALUES (1)"); $oid = pg_last_oid($res2); ?>`

## Voir aussi

pg_query()
pg_result_status()

Précédent | Sommaire | Suivant
pg_last_notice | Niveau supérieur | pg_lo_close