Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mengendalikan Ralat Kemasukan Pendua dalam PHP untuk MySQL?

Bagaimana untuk Mengendalikan Ralat Kemasukan Pendua dalam PHP untuk MySQL?

Susan Sarandon
Susan Sarandonasal
2024-11-12 06:35:02665semak imbas

How to Handle Duplicate Entry Errors in PHP for MySQL?

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!

Kenyataan:
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