Để kiểm tra lỗi cụ thể này, bạn cần tìm mã lỗi
. Nó là 1062
đối với khóa trùng lặp. Sau đó, sử dụng kết quả từ errno()
để so sánh với:
mysqli_query('INSERT INTO ...');
if (mysqli_errno() == 1062) {
print 'no way!';
}
Lưu ý về phong cách lập trình
Bạn nên luôn tránh sử dụng số ma thuật
(Tôi biết, tôi là người giới thiệu nó trong câu trả lời này). Thay vào đó, bạn có thể gán mã lỗi đã biết (1062
) thành một hằng số (ví dụ:MYSQLI_CODE_DUPLICATE_KEY
). Điều này sẽ giúp mã của bạn dễ duy trì hơn như một điều kiện trong if
câu lệnh vẫn có thể đọc được sau một vài tháng khi ý nghĩa của 1062
đã mờ dần khỏi bộ nhớ :)