How can one prevent SQL injection vulnerabilities when using PHP?

To prevent SQL injection vulnerabilities when using PHP, it is important to use prepared statements with parameterized queries. This means using placeholders in the SQL query and binding the actual values separately. This helps to separate the SQL code from the user input, preventing malicious input from being executed as SQL commands.

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

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

// Bind the actual value to the placeholder
$stmt->bindParam(':username', $_POST['username']);

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

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