How should PHP developers handle cases where no matching records are found in a database query, especially in terms of password verification?

When handling cases where no matching records are found in a database query, especially in terms of password verification, PHP developers should check if the query returned any results and handle the case where no records are found gracefully. One way to do this is to use the `rowCount()` method to check the number of rows returned by the query and then proceed accordingly.

// Perform a database query to retrieve user information based on username
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");
$stmt->bindParam(':username', $username);
$stmt->execute();

// Check if any records were found
if ($stmt->rowCount() > 0) {
    // Fetch the user record
    $user = $stmt->fetch();

    // Verify the password
    if (password_verify($password, $user['password'])) {
        // Password is correct, proceed with authentication
    } else {
        // Password is incorrect
        echo "Invalid password";
    }
} else {
    // No matching user found
    echo "User not found";
}