How can you handle exceptions and errors when querying a database in PHP?

When querying a database in PHP, it is important to handle exceptions and errors properly to ensure the stability and security of your application. One way to do this is by using try-catch blocks to catch any exceptions that may occur during the database query process. By doing this, you can gracefully handle errors and prevent them from crashing your application.

try {
    // Connect to the database
    $pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "username", "password");
    
    // Prepare and execute the query
    $stmt = $pdo->prepare("SELECT * FROM users WHERE id = :id");
    $stmt->execute(['id' => 1]);
    
    // Fetch the results
    $result = $stmt->fetch();
    
    // Handle the results
    if ($result) {
        // Process the data
    } else {
        // Handle no results found
    }
} catch (PDOException $e) {
    // Handle any exceptions that occur during the database query
    echo "Error: " . $e->getMessage();
}