What measures can be taken to prevent SQL injection attacks in PHP scripts?

SQL injection attacks can be prevented in PHP scripts by using prepared statements with parameterized queries. This approach ensures that user input is treated as data rather than executable SQL code, thus preventing attackers from injecting malicious SQL queries into the application.

// Establish a database connection
$pdo = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password');

// Prepare a SQL statement with a parameterized query
$stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username');

// Bind the user input to the parameter
$stmt->bindParam(':username', $_POST['username']);

// Execute the query
$stmt->execute();

// Fetch the results
$results = $stmt->fetchAll();