Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mendapatkan ID Baris yang Baru Dimasukkan dalam PHP/MySQL?

Bagaimana untuk Mendapatkan ID Baris yang Baru Dimasukkan dalam PHP/MySQL?

Patricia Arquette
Lepaskan: 2024-12-04 20:05:19
asal
735 orang telah melayarinya

How to Retrieve the ID of a Newly Inserted Row in PHP/MySQL?

Dapatkan ID Baris yang Disisipkan dalam PHP/MySQL

Apabila memasukkan baris ke dalam jadual MySQL dengan medan id peningkatan automatik, adalah penting untuk mendapatkan semula id yang baru dijana untuk operasi seterusnya.

Mengelakkan Perlumbaan Syarat

Satu pendekatan untuk mendapatkan id adalah dengan menanyakan pangkalan data untuk baris yang sepadan dengan maklumat yang dimasukkan. Walau bagaimanapun, kaedah ini memperkenalkan keadaan perlumbaan di mana baris lain boleh dimasukkan sebelum pertanyaan dilaksanakan, mengakibatkan keputusan yang tidak tepat.

Menggunakan mysqli_insert_id()

Penyelesaian yang boleh dipercayai ialah menggunakan LAST_INSERT_ID( MySQL) ) fungsi. Kaedah mysqli_insert_id() dalam PHP mengembalikan id terjana terakhir untuk sambungan semasa.

$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db');
mysqli_query($link, "INSERT INTO mytable (1, 2, 3, 'blah')");
$id = mysqli_insert_id($link);
Salin selepas log masuk

Berbilang Pertanyaan dalam Satu Operasi

Pendekatan alternatif adalah untuk melaksanakan berbilang pertanyaan dalam satu operasi, mengambil kesempatan daripada kaedah LAST_INSERT_ID() MySQL. Ini memastikan bahawa id ditetapkan dengan betul walaupun apabila berbilang jadual terlibat.

mysqli_query($link, "INSERT INTO my_user_table ...;
  INSERT INTO my_other_table (`user_id`) VALUES (LAST_INSERT_ID())");
Salin selepas log masuk

Kaedah ini menghilangkan keperluan bimbang tentang keadaan perlumbaan dan menyediakan cara yang boleh dipercayai untuk mendapatkan semula id baris yang dimasukkan.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Baris yang Baru Dimasukkan dalam PHP/MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan