Bagaimana untuk Mengendalikan Ralat Kemasukan Pendua dalam PHP untuk MySQL?

Susan Sarandon
Lepaskan: 2024-11-12 06:35:02
asal
690 orang telah melayarinya

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.';
}
Salin selepas log masuk

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.';
}
Salin selepas log masuk

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!

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