What are some best practices for error handling in PHP scripts, especially when establishing database connections or executing queries?

When establishing database connections or executing queries in PHP scripts, it is important to implement proper error handling to ensure that any issues are caught and dealt with gracefully. One common practice is to use try-catch blocks to catch exceptions that may occur during database operations. Additionally, using functions like mysqli_connect_errno() and mysqli_connect_error() can help in identifying connection errors. It is also recommended to log errors to a file or display them in a user-friendly manner to aid in debugging.

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

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

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

// Execute query
$sql = "SELECT * FROM table";
$result = $conn->query($sql);

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

// Process results
while($row = $result->fetch_assoc()) {
    // Do something with the data
}

// Close connection
$conn->close();
?>