Mengendalikan Ralat Kemasukan Pendua dalam PHP untuk MySQL
Apabila memasukkan data ke dalam pangkalan data MySQL menggunakan PHP, ralat kemasukan pendua mungkin berlaku jika nilai kunci utama sudah wujud. Mesej ralat lalai yang dikembalikan tidak mesra pengguna, menjadikannya mencabar untuk memaklumkan kepada pengguna tentang isu tersebut.
Untuk menangani perkara ini, PHP menyediakan cara untuk menyemak ralat MySQL tertentu dan mengendalikannya dengan sewajarnya. Langkah pertama ialah mengenal pasti kod ralat untuk entri pendua. Dalam kes ini, kodnya ialah 1062.
Setelah anda mempunyai kod ralat, anda boleh menggunakannya untuk menyemak sama ada pelaksanaan pertanyaan mencetuskan ralat tertentu ini:
$result = mysqli_query($conn, 'INSERT INTO ...'); if (mysqli_errno($conn) == 1062) { echo 'Please enter a different value.'; }
Dalam kod ini, $conn ialah objek sambungan MySQL. Dengan membandingkan mysqli_errno($conn) dengan kod ralat kunci pendua (1062), kita boleh menentukan sama ada ralat itu berlaku. Jika ya, kami memaparkan mesej tersuai kepada pengguna.
Gaya Pengaturcaraan Baik
Adalah amalan yang baik untuk mengelak daripada menggunakan nombor ajaib dalam kod, terutamanya kod ralat. Menetapkan pemalar kepada kod ralat (cth., MYSQLI_CODE_DUPLICATE_KEY) akan menjadikan kod anda lebih mudah dibaca dan diselenggara.
Contohnya:
define('MYSQLI_CODE_DUPLICATE_KEY', 1062); $result = mysqli_query($conn, 'INSERT INTO ...'); if (mysqli_errno($conn) == MYSQLI_CODE_DUPLICATE_KEY) { echo 'Please enter a different value.'; }
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat Kemasukan Pendua dalam PHP untuk MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!