mysql_insert_id
PHP -> Funkcie -> MySQL funkcie PHP -> mysql_insert_id
Syntax
int mysql_insert_id ( [$spojenie] )
Popis
Príkaz jazyka PHP
Vracia generovanou hodnotu id posledného príkazu INSERT
mysql_insert_id() vracia hodnotu ID vygenerovanú pre stĺpec AUTO_INCREMENT predchádzajúcim dotazom typu INSERT indetifikovaným parametrom spojenia. Ak je spojenie vynechané, použije sa posledne otvorené spojenie.
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.
Príklad
<?php
mysql_connect("localhost", "mysql_uziv", "mysql_heslo") or
die("Nelze se spojit: " . mysql_error());
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());
?>
mysql_connect("localhost", "mysql_uziv", "mysql_heslo") or
die("Nelze se spojit: " . mysql_error());
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());
?>
Pozri aj
mysql_query