Popis
int
mysql_insert_id ( [resource spojeni])
mysql_insert_id() vrací hodnotu ID vygenerovanou
pro sloupec AUTO_INCREMENT předchozím dotazem typu INSERT indetifikovaný
parametrem spojeni. Pokud je
spojeni vynecháno, použije se posledně otevřené
spojení.
mysql_insert_id() vrací 0 pokud pro předchozí dotaz
nebyla vygenerována žádná hodnota pomocí AUTO_INCREMENT. I v případě,
že potřebujete hodnotu použít později, dbejte na to, abyste funkci
mysql_insert_id() volali okamžitě po dotazu, pro nějž byla
vygenerována hodnota pomocí AUTO_INCREMENT.
Poznámka:
Hodnota MySQL SQL funkce LAST_INSERT_ID() vždy obsahuje
nejvyšší posledně vygenerovanou hodnotu AUTO_INCREMENT a není mezi dalšími
dotazy vynulována.
| Varování |
mysql_insert_id() převádí typ vrácený nativní MySQL C
API funkcí mysql_insert_id() z typu long
(ekvivalent v PHP int). Pokud je sloupec AUTO_INCREMENT typu
BIGINT, hodnota vrácená mysql_insert_id()
bude nesprávná (pouze v případě, že i samotná hodnota bude mít velikost BIGINT).
Místo toho použijte vnitřní MySQL SQL funkci LAST_INSERT_ID()
přímo v SQL dotazu. |
Příklad 1. mysql_insert_id Příklad <?php
mysql_connect("localhost", "mysql_uziv", "mysql_heslo") or
die("Nelze se spojit");
mysql_select_db("mojedb");
mysql_query("INSERT INTO mojetabulka (produkt) values ('kosa')");
printf ("Posledně vložený záznam má id: %d\n", mysql_insert_id());
?> |
|
Dále také: mysql_query().