mysql_insert_id

(PHP 3, PHP 4, PHP 5)

mysql_insert_id -- Visszaadja az előző INSERT művelet által előállított azonosítót

Leírás

int mysql_insert_id ( [resource link_identifier] )

Az előző INSERT műveletben szereplő AUTO_INCREMENT tulajdonságú mező számára generált értéket adja meg.

Paraméterek

link_identifier

A MySQL kapcsolat. Ha a kapcsolatazonosító nincs megadva, akkor az utólsó mysql_connect()-el megnyitott kapcsolatot használja. Ha nem talál semmilyen kapcsolatot, megpróbál létrehozni egyet úgy, mintha a mysql_connect() paraméterek nélkül lett volna meghívva. Ha esetleg semmilyen kapcsolatot nem talál és nem is sikerül létrehoznia, akkor egy E_WARNING szintű figyelmeztetés generálódik.

Visszatérési értékek

Az előző INSERT utasítás által egy AUTO_INCREMENT tulajdonságú mező számára generált értéket adja meg, 0-t ha a kérés nem generált AUTO_INCREMENT értéket, vagy FALSE-ot ha nem jött létre MySQL kapcsolat.

Példák

Példa 1. mysql_insert_id() example

<?php
$kapcsolat
= mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!
$kapcsolat) {
    die(
'Nem tudok kapcsolódni: ' . mysql_error());
}
mysql_select_db('adatbazis');

mysql_query("INSERT INTO tabla (termek) values ('kossu')");
printf("Az utoljára beszúrt sor a %d azonosítót kapta.\n", mysql_insert_id());
?>

Megjegyzések

Figyelem

A mysql_insert_id() a natív mysql_insert_id() MySQL C API függvény visszatérési típusát átalakítja egy long típusra (PHP-ben int a neve). Ha az AUTO_INCREMENT-es oszlop típusa BIGINT, akkor a mysql_insert_id() által visszaadott érték hibás lesz. Helyette használd a MySQL LAST_INSERT_ID() belső SQL függvényét egy SQL kérésben.

Megjegyzés: Mivel a mysql_insert_id() az utolsó végrehajtott utasításra vonatkozik, bizonyosodj meg róla, hogy az értéket generáló kérés után rögtön meghívod.

Megjegyzés: A MySQL LAST_INSERT_ID() SQL függvénye mindig a legutóbbi AUTO_INCREMENT-es generált értéket adja meg, és nem lesz törölve lekérdezések között.

Lásd még

mysql_query()
mysql_info()