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