What are some best practices for securely handling user input in PHP to prevent issues like SQL injection?

To securely handle user input in PHP and prevent issues like SQL injection, it is important to use prepared statements with parameterized queries when interacting with a database. This helps to separate the SQL query logic from the user input data, preventing malicious SQL injection attacks.

// 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 query parameters
$stmt->bindParam(':username', $_POST['username']);

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

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