What are the best practices for handling duplicate entry errors in PHP when inserting data into a database?

When inserting data into a database using PHP, it's important to handle duplicate entry errors gracefully. One common approach is to use a try-catch block to catch any exceptions that may occur when attempting to insert duplicate data. Within the catch block, you can check if the error is due to a duplicate entry and handle it accordingly, such as updating the existing entry or displaying an error message to the user.

try {
    // Attempt to insert data into the database
    // Your database insert query here
} catch (PDOException $e) {
    if ($e->errorInfo[1] == 1062) {
        // Duplicate entry error, handle it accordingly
        // For example, update the existing entry or display an error message
    } else {
        // Handle other database errors
        echo "An error occurred: " . $e->getMessage();
    }
}