What are the best practices for handling user input validation and error checking in PHP scripts to ensure data integrity?

When handling user input validation and error checking in PHP scripts, it is important to sanitize and validate user input to prevent security vulnerabilities and ensure data integrity. This can be achieved by using PHP functions like htmlspecialchars() to prevent cross-site scripting attacks and filter_var() to validate input data. Additionally, implementing error handling mechanisms such as try-catch blocks can help catch and handle any unexpected errors that may occur during data processing.

// Example of sanitizing user input using htmlspecialchars()
$userInput = "<script>alert('XSS attack');</script>";
$sanitizedInput = htmlspecialchars($userInput, ENT_QUOTES, 'UTF-8');

// Example of validating user input using filter_var()
$email = "invalidemail.com";
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Invalid email format";
}

// Example of error handling using try-catch block
try {
    // Code that may throw an exception
    $result = 1 / 0;
} catch (Exception $e) {
    echo "An error occurred: " . $e->getMessage();
}