PDO: Mendapatkan semula ID Terakhir yang Disisipkan
Dalam operasi pangkalan data, selalunya perlu untuk mendapatkan ID rekod terakhir yang dimasukkan ke dalam jadual . PDO (Objek Data PHP) menawarkan keupayaan untuk melakukan ini melalui kaedah PDO::lastInsertId().
Untuk mendapatkan ID yang terakhir dimasukkan, anda perlu melaksanakan pernyataan SQL INSERT dan menggunakan PDO::lastInsertId () kaedah pada objek PDO. Contohnya:
$stmt = $db->prepare("INSERT INTO `cell-place` (name) VALUES (?)"); $stmt->execute([$name]); $id = $db->lastInsertId();
Dalam contoh ini, $db ialah objek PDO, $stmt ialah pernyataan yang disediakan, dan $name ialah nilai yang akan dimasukkan. Kaedah PDO::lastInsertId() mengembalikan ID yang ditambah secara automatik bagi rekod yang baru dimasukkan.
Jika anda cuba menggunakan fungsi LAST_INSERT_ID() secara langsung, seperti dalam kod yang anda berikan, anda akan menghadapi ralat. Ini kerana LAST_INSERT_ID() ialah fungsi SQL, bukan fungsi PHP. Untuk menggunakannya dengan PDO, anda mesti menggunakan kaedah PDO::lastInsertId().
Sebagai alternatif, anda boleh mendapatkan ID yang terakhir dimasukkan menggunakan pertanyaan SQL langsung:
$stmt = $db->query("SELECT LAST_INSERT_ID()"); $row = $stmt->fetch(PDO::FETCH_NUM); $lastId = $row[0];
Pendekatan ini melaksanakan pertanyaan SQL mentah untuk mendapatkan ID yang terakhir dimasukkan. Ia kurang cekap daripada menggunakan PDO::lastInsertId(), tetapi ia berguna jika anda mempunyai pertanyaan SQL kompleks yang memerlukan anda melakukan pengambilan ID secara manual.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Terakhir yang Dimasukkan Menggunakan PDO dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!