How can PHP developers protect against SQL injections when interacting with databases?
To protect against SQL injections when interacting with databases in PHP, developers should use prepared statements with parameterized queries. This approach separates SQL logic from user input, preventing malicious SQL code from being executed.
// Establish a database connection
$pdo = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password');
// Prepare a SQL statement with parameters
$stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username');
// Bind the parameter values
$stmt->bindParam(':username', $_POST['username']);
// Execute the statement
$stmt->execute();
// Fetch the results
$results = $stmt->fetchAll();