What are the potential risks of not properly validating and sanitizing user input in PHP scripts for database operations?

Not properly validating and sanitizing user input in PHP scripts for database operations can lead to SQL injection attacks, where malicious users can manipulate database queries to access or modify sensitive data. To prevent this, always validate and sanitize user input before using it in database queries by using prepared statements with parameterized queries or escaping user input.

// Using prepared statements with parameterized queries to validate and sanitize user input
$pdo = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password');
$stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username');
$stmt->bindParam(':username', $_POST['username']);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);