Đúng, đúng, nhưng bạn cần yêu cầu PDO nêu lỗi do lỗi.
Vì vậy, hãy tạo mã kết nối của bạn như sau:
$dsn = "mysql:host=$host;dbname=$db;charset=utf8";
$opt = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);
$pdo = new PDO($dsn, $user, $pass, $opt);
Và đảm bảo rằng bạn có thể nhìn thấy lỗi PHP. Vì vậy, bạn sẽ biết chuyện gì đang xảy ra.