Apabila memasukkan baris ke dalam jadual MySQL dengan medan id peningkatan automatik, adalah penting untuk mendapatkan semula id yang baru dijana untuk operasi seterusnya.
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.
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);
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())");
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!