What are some considerations for handling and displaying data from external sources securely in PHP?

When handling and displaying data from external sources securely in PHP, it is important to sanitize and validate the input to prevent SQL injection and cross-site scripting attacks. One way to do this is by using prepared statements and parameterized queries when interacting with a database. Additionally, it is crucial to escape output when displaying data to prevent malicious code execution.

// Example of using prepared statements to handle external data securely

// 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 external data to the placeholder
$stmt->bindParam(':username', $_GET['username']);

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

// Fetch and display the results
while ($row = $stmt->fetch()) {
    echo htmlspecialchars($row['username']);
}