What are best practices for handling database connection errors and insertion/query problems in PHP?

When handling database connection errors and insertion/query problems in PHP, it is important to use exception handling to catch and handle any potential errors that may occur. This helps to provide a more robust and reliable way of dealing with database-related issues.

try {
    $pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "username", "password");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("Error connecting to database: " . $e->getMessage());
}

// Example query execution
try {
    $stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
    $stmt->execute(array(':name' => 'John Doe', ':email' => 'john.doe@example.com'));
} catch (PDOException $e) {
    die("Error executing query: " . $e->getMessage());
}