Autor Zpráva
AlešD
Profil
Nejsem si jistý jakým způsobem zjistit ID nově vloženého záznamu. Mám přihlašovací formulář, kde je uvedeno jméno, příjmení, adresa, emailová adresa a další, už pro tento problém, nepodstatné údaje. Data z dormuláře uložím do mysql databáze normálně insertem, číslo ID je autoinkrement (proto ho neznám před provedením insertu). Nyní generuji mail, který kromě jiného obsahuje odkaz na stránku, kde se vygeneruje PDF dokument (proforma faktura) na základě nového dotazu, který vybere z databáze záznam na základě předaného parametru ID.

A zde je problém. Zatím zjišťuji ID záznamu po insertu dotazem:
SELECT MAX(ID) from blabla WHERE mail='$mail' AND '$jmeno' AND '$prijmeni' AND '$adresa';

Přijde mi to však pitomé.

Nevíte někdo nějakou jinou možnost, například uložení nějakého jednoznačného identifikátoru do databáze? Zvažoval jsem čas v okamžiku odeslání formuláře - nejisté (uživatelé se mohou "trefit" do stejného času?). Náhodné číslo, jak moc je generátor náhody v PHP náhodný?

Podotýkám, že funkci MySQL_Insert_id nepovažuji za pro tento účel vhodnou, neboť nezjistí ID konkrétního záznamu, ale posledně vloženého záznamu, který už může být, v okamžiku dotazu, úplně jiný.
nightfish
Profil
MySQL_Insert_id nepovažuji za pro tento účel vhodnou, neboť nezjistí ID konkrétního záznamu, ale posledně vloženého záznamu,
afaik vrátí hodnotu posledního vloženého ID v rámci aktivního spojení s databází, ne?
AlešD
Profil
nightfish: fakt? To jsem netušil. Díky!
Toto téma je uzamčeno. Odpověď nelze zaslat.