Разбрах.
По някаква причина удължавате вашият клас от PDO. Така че вашите „блогданни“ се приемат като DSN.
Просто се отървете от вашия DB клас и използвайте необработени PDO
connect.inc.php:
<?php
$db_host = "localhost";
$db_name = "blogdata";
$db_user = "username";
$db_pass = "password";
$db = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
index.php:
<?php
require 'connect.inc.php';
$query = "SELECT * FROM blogposts";
$result = $db->query($query);
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {