What are some best practices for querying a SQL database in PHP?

When querying a SQL database in PHP, it is important to use prepared statements to prevent SQL injection attacks and ensure data security. Additionally, using parameterized queries can improve performance by allowing the database to reuse query plans. It is also recommended to handle errors gracefully and close database connections after use to free up resources.

// Establish a connection to the database
$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 a SQL statement with a parameterized query
$stmt = $conn->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $id);

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

// Bind the results to variables
$stmt->bind_result($id, $name, $email);

// Fetch and display the results
while ($stmt->fetch()) {
    echo "ID: $id, Name: $name, Email: $email <br>";
}

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