You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PDO连接本地SQLite数据库出现Unknown database报错如何解决

问题修复方案

核心错误点

  • 你误用了MySQL数据库的PDO连接格式连接SQLite数据库,二者DSN规则完全不同:你当前的配置会默认访问XAMPP自带的MySQL服务,在MySQL中查找名为jobs.db的库,自然触发未知数据库报错。
  • 代码存在拼写错误:$this->usernamae拼写错误,正确写法为$this->username
  • 代码冗余:catch块后的重复连接逻辑无意义,可直接删除

修正后代码

<?php
class Dbh {
    public function connect() {
        // __DIR__会自动获取当前Dbh类文件所在的绝对目录,拼接数据库文件名,避免不同位置的入口文件调用时路径出错
        $dbPath = __DIR__ . '/jobs.db';
        try {
            // SQLite的DSN固定格式为 sqlite: + 数据库文件的绝对路径
            $dsn = "sqlite:" . $dbPath;
            $pdo = new PDO($dsn);
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            return $pdo;
        } catch (PDOException $e) {
            echo "Connection failed: " . $e->getMessage();
            exit;
        }
    }
}
?>

注意事项

  • 不需要保留原代码中servername、username、password、charset等MySQL专属配置,SQLite连接无需这些参数
  • 请确保jobs.db文件权限设置正确,XAMPP运行进程需要拥有该文件的读写权限

内容的提问来源于stack exchange,提问作者JordanLeo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 07:06:03