How can the code snippet provided in the forum thread be optimized for better performance and security?

Issue: The code snippet provided in the forum thread is vulnerable to SQL injection attacks due to directly concatenating user input into the SQL query. To optimize for better performance and security, we should use prepared statements with parameterized queries to prevent SQL injection attacks and improve query execution efficiency. Optimized PHP code snippet using prepared statements:

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

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

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

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

// Set the username variable from user input
$username = $_POST['username'];

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

// Fetch results
$result = $stmt->get_result();

// Output the results
while ($row = $result->fetch_assoc()) {
    echo "Username: " . $row['username'] . "<br>";
    echo "Email: " . $row['email'] . "<br>";
}

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