Rumah > Artikel > pangkalan data > Bagaimana untuk Mengendalikan Ralat Kemasukan Pendua dalam Aplikasi PHP/MySQL?
Mengendalikan Ralat Kemasukan Pendua dalam Aplikasi PHP/MySQL
Apabila berurusan dengan input pengguna dalam aplikasi PHP yang berinteraksi dengan pangkalan data MySQL, ia adalah penting untuk mengendalikan entri pendua dengan anggun. Satu isu biasa ialah apabila pengguna memasukkan nilai yang sudah wujud sebagai kunci utama, mengakibatkan ralat MySQL: "Entri pendua 'nilai yang dimasukkan' untuk kunci 1."
Menukar Kod Ralat MySQL kepada PHP Messages
Untuk menyesuaikan pengalaman pengguna apabila entri pendua berlaku, adalah perlu untuk mengubah kod ralat MySQL tertentu menjadi mesej mesra pengguna dalam PHP. Ini boleh dicapai dengan menyemak kod ralat yang dikembalikan oleh MySQL dan mengambil tindakan yang sewajarnya.
Menggunakan Fungsi mysqli_errno()
Fungsi mysqli_errno() dalam PHP boleh digunakan untuk mendapatkan semula kod ralat berangka yang dikaitkan dengan pertanyaan MySQL yang terakhir. Kod ralat untuk masukan pendua ialah 1062, jadi untuk mengesan ralat khusus ini, seseorang boleh menggunakan kod berikut:
mysqli_query('INSERT INTO ...'); if (mysqli_errno() == 1062) { print 'Please enter a different value.'; }
Amalan Pengaturcaraan Baik
Adalah disyorkan untuk elakkan menggunakan nombor ajaib (seperti 1062) dalam kod. Sebaliknya, adalah berfaedah untuk menentukan pemalar untuk kod ralat, memastikan kebolehbacaan kod dan kebolehselenggaraan dalam jangka masa panjang. Contohnya:
define('MYSQLI_CODE_DUPLICATE_KEY', 1062); ... if (mysqli_errno() == MYSQLI_CODE_DUPLICATE_KEY) { print 'Please enter a different value.'; }
Dengan melaksanakan teknik ini, pembangun boleh memberikan pengalaman yang lebih mesra pengguna apabila entri pendua ditemui, menghalang mesej ralat MySQL standard daripada dipaparkan kepada pengguna.
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat Kemasukan Pendua dalam Aplikasi PHP/MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!