Forum und email
mysql_insert_id

mysql_insert_id

(PHP 3, PHP 4, PHP 5)

mysql_insert_id --  Vrací generovanou hodnotu id posledního příkazu INSERT

Popis

int mysql_insert_id ( [resource link_identifier] )

mysql_insert_id() vrací hodnotu ID vygenerovanou pro sloupec AUTO_INCREMENT předchozím dotazem typu INSERT indetifikovaným 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_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());
?>

Dále také: mysql_query().