Khi tôi thực hiện như sau trong MySQL console, nó hoạt động tốt:Sử dụng LAST_INSERT_ID() qua PHP?
INSERT INTO videos (embed_code) VALUES ('test code here');
SELECT LAST_INSERT_ID();
Tuy nhiên, khi tôi thực hiện các truy vấn trên qua PHP, kết quả là rỗng.
Theo trừu tượng dữ liệu, tôi đang sử dụng lớp truy cập cơ sở dữ liệu có tên DB
. Đây là cách tôi đã thử các truy vấn trên thông qua 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];
Không đáng tin cậy để tôi chọn id mới bằng mã embed_code vì mã nhúng có thể được lặp lại.
Cảm ơn!
Đúng, bạn đã đúng. Tôi đang sử dụng PDO và nó có một phương thức 'lastInsertId()'! Tôi không nghĩ về điều đó. Cảm ơn! –