What best practices should be followed when updating user information in a database using PHP?

When updating user information in a database using PHP, it is important to follow best practices to ensure data integrity and security. This includes validating user input to prevent SQL injection attacks, sanitizing input to prevent cross-site scripting attacks, and using prepared statements to protect against SQL injection. Additionally, it is recommended to check for errors and handle exceptions properly to provide a better user experience.

<?php
// Assuming $conn is the database connection object

// Validate and sanitize user input
$user_id = filter_input(INPUT_POST, 'user_id', FILTER_SANITIZE_STRING);
$new_email = filter_input(INPUT_POST, 'new_email', FILTER_SANITIZE_EMAIL);

// Prepare and execute the update query using a prepared statement
$stmt = $conn->prepare("UPDATE users SET email = ? WHERE id = ?");
$stmt->bind_param("si", $new_email, $user_id);
$stmt->execute();

// Check for errors and handle exceptions
if ($stmt->affected_rows > 0) {
    echo "User information updated successfully";
} else {
    echo "Error updating user information";
}

$stmt->close();
$conn->close();
?>