Forum und email

mysql_insert_id

(PHP 4, PHP 5, PECL mysql:1.0)

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

Example#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

Caution

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.

Note: 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.

Note: 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.