PDO::ERRMODE_EXCEPTION, PDO::ATTR_EMULATE_PREPARES => false, // важная настройка [web:28][web:25] PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ]); return $pdo; } public static function testConnection(string $user, string $pass): void { $dsn = 'mysql:host=localhost;port=3306;charset=utf8mb4'; // MariaDB совместим [web:22][web:28] try { new PDO($dsn, $user, $pass, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_EMULATE_PREPARES => false, ]); } catch (PDOException $e) { throw new \RuntimeException('Connection failed: ' . $e->getMessage()); } } }