What are the best practices for handling form data in PHP before processing it in a database?

When handling form data in PHP before processing it in a database, it is crucial to sanitize and validate the input to prevent SQL injection attacks and ensure data integrity. This can be done by using functions like mysqli_real_escape_string() for sanitization and filter_var() for validation. Additionally, parameterized queries should be used to safely insert the data into the database.

// Sanitize and validate form data
$username = mysqli_real_escape_string($conn, $_POST['username']);
$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);

// Insert data into database using parameterized query
$stmt = $conn->prepare("INSERT INTO users (username, email) VALUES (?, ?)");
$stmt->bind_param("ss", $username, $email);
$stmt->execute();
$stmt->close();