(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_last_oid — Retourne l'identifiant de la dernière ligne
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().
result
Une instance PgSql\Result, retourné par pg_query(), pg_query_params(), ou pg_execute() (entre autres).
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.
Version | Description |
---|---|
8.1.0 |
Le paramètre result attend désormais une instance de
PgSql\Result ; auparavant, une ressource était attendu.
|
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);
?>