Kiedy wykonać następujące czynności w konsoli MySQL, to działa dobrze:Korzystanie z LAST_INSERT_ID() przez PHP?
INSERT INTO videos (embed_code) VALUES ('test code here');
SELECT LAST_INSERT_ID();
Ale kiedy wykonać powyższe zapytania za pośrednictwem PHP, wynik jest pusta.
W ramach abstrakcji danych używam klasy dostępu do bazy danych o nazwie DB
. W ten sposób próbowałem powyższe pytania poprzez PHP:
$embedCode = htmlentities($_POST['embed_code']);
//Insert video in database **WORKS**
DB::query("INSERT INTO videos (embed_code) VALUES ('$embedCode');");
//Retrieve id **DOES NOT WORK**
$row = DB::getSingleRow("SELECT LAST_INSERT_ID();");
$videoId = $row[0];
To nie jest wiarygodne dla mnie, aby wybrać nowy identyfikator przez embed_code, jak embed_code może się powtarzać.
Dzięki!
Tak, masz rację. Używam PDO i ma metodę 'lastInsertId()'! Nie myślałem o tym. Dzięki! –