What are the potential pitfalls of not validating user input before saving it to a database in PHP?

Not validating user input before saving it to a database in PHP can lead to security vulnerabilities such as SQL injection attacks, where malicious SQL queries are executed by manipulating input fields. To prevent this, always sanitize and validate user input before saving it to the database by using prepared statements or parameterized queries.

// Example of validating and sanitizing user input before saving to a database
$name = $_POST['name'];
$email = $_POST['email'];

// Validate and sanitize user input
$name = filter_var($name, FILTER_SANITIZE_STRING);
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

// Prepare a SQL statement using prepared statements
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$stmt->execute();