What are the best practices for handling and processing database query results in PHP to avoid errors and ensure smooth functionality?

When handling and processing database query results in PHP, it is essential to check for errors and handle them appropriately to ensure smooth functionality. One common practice is to use error handling techniques such as try-catch blocks to catch any exceptions that may occur during the query execution. Additionally, it is important to properly sanitize and validate the data retrieved from the database to prevent SQL injection attacks.

// Example of handling and processing database query results in PHP

// Connect to the database
$mysqli = new mysqli("localhost", "username", "password", "database");

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

// Execute a query
$query = "SELECT * FROM users";
$result = $mysqli->query($query);

// Check for query errors
if (!$result) {
    die("Query failed: " . $mysqli->error);
}

// Process the query results
while ($row = $result->fetch_assoc()) {
    // Do something with the data
    echo $row['username'] . "<br>";
}

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