How can one ensure efficient and secure data retrieval from a MySQL database in PHP?

To ensure efficient and secure data retrieval from a MySQL database in PHP, it is important to use parameterized queries to prevent SQL injection attacks and optimize the query to retrieve only the necessary data. Additionally, using prepared statements can help improve performance by reducing the overhead of repeatedly parsing and planning the same query.

// Establish a connection to the MySQL database
$mysqli = new mysqli("localhost", "username", "password", "database");

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

// Prepare a parameterized query to retrieve data securely and efficiently
$stmt = $mysqli->prepare("SELECT column1, column2 FROM table WHERE condition = ?");
$stmt->bind_param("s", $condition);

// Set the parameter for the query
$condition = "value";

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

// Bind the results to variables
$stmt->bind_result($result1, $result2);

// Fetch and display the results
while ($stmt->fetch()) {
    echo $result1 . " - " . $result2 . "<br>";
}

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