How can PHP developers ensure data security and prevent vulnerabilities when accessing and displaying database information?

To ensure data security and prevent vulnerabilities when accessing and displaying database information in PHP, developers should use prepared statements with parameterized queries to prevent SQL injection attacks. Additionally, developers should sanitize user input and validate data to prevent cross-site scripting attacks. Implementing proper input validation and output encoding can help mitigate security risks.

// Establish a database connection
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

// Prepare a SQL query with a parameterized statement
$stmt = $conn->prepare("SELECT * FROM users WHERE username = ?");
$stmt->bind_param("s", $username);

// Sanitize user input
$username = filter_var($_POST['username'], FILTER_SANITIZE_STRING);

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

// Display the retrieved data
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    echo "Username: " . htmlspecialchars($row['username']);
}

// Close the statement and connection
$stmt->close();
$conn->close();