How can the issue of SQL injection be addressed in PHP code when interacting with a database?
SQL injection can be addressed in PHP code by using prepared statements with parameterized queries. This approach separates SQL logic from user input, preventing malicious SQL code from being executed. By binding parameters to placeholders in the SQL query, the database engine can distinguish between code and data, effectively preventing SQL injection attacks.
// Establish a connection to the database
$pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "username", "password");
// Prepare a SQL query with a placeholder for user input
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");
// Bind the user input to the placeholder
$stmt->bindParam(':username', $_POST['username']);
// Execute the query
$stmt->execute();
// Fetch the results
$results = $stmt->fetchAll();
Related Questions
- What are common reasons for encountering a blank phpMyAdmin page when accessing it through Xampp on localhost?
- In PHP, what are the advantages and disadvantages of manually handling requests client-side instead of using a form?
- What best practices should be followed when calculating and displaying percentages based on average values fetched from a database in PHP?