What are best practices for handling form submission and data storage in PHP to ensure proper functionality and error handling?

When handling form submission and data storage in PHP, it is important to validate user input to prevent SQL injection and other security vulnerabilities. Additionally, proper error handling should be implemented to provide feedback to users in case of submission errors or database connection issues.

<?php
// Validate user input
$name = $_POST['name'];
$email = $_POST['email'];

// Prevent SQL injection
$name = mysqli_real_escape_string($conn, $name);
$email = mysqli_real_escape_string($conn, $email);

// Insert data into database
$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
if(mysqli_query($conn, $sql)){
    echo "Record added successfully";
} else{
    echo "Error: " . mysqli_error($conn);
}

// Close database connection
mysqli_close($conn);
?>