What steps can be taken to ensure proper data validation and sanitization when processing user input in PHP scripts, particularly in relation to database queries and updates?

Proper data validation and sanitization are essential when processing user input in PHP scripts to prevent SQL injection attacks and ensure data integrity. To achieve this, input data should be validated against expected formats and sanitized to remove any potentially harmful characters before being used in database queries or updates.

// Example of data validation and sanitization in PHP
$user_input = $_POST['user_input'];

// Validate input data
if (!filter_var($user_input, FILTER_VALIDATE_EMAIL)) {
    // Handle invalid input
    die("Invalid email address provided");
}

// Sanitize input data
$clean_input = mysqli_real_escape_string($connection, $user_input);

// Use sanitized data in database query
$query = "INSERT INTO users (email) VALUES ('$clean_input')";
mysqli_query($connection, $query);