【问题标题】:Doctrine DBAL and sqlite problems教义 DBAL 和 sqlite 问题
【发布时间】:2015-09-22 19:47:39
【问题描述】:

我正在尝试使用 Doctrine DBAL 连接到 sqlite 数据库文件。

<?php
use Doctrine\DBAL\DriverManager;
require_once 'bootstrap.php';
$connectionParams = [
    'url' => 'sqlite:///crawls.db',
];
$conn = DriverManager::getConnection($connectionParams);

但是当我尝试执行 sql 代码时,它说该表不存在(当然我是手动检查的,它就在那里)。

$conn->exec('SELECT * FROM crawl_item');

输出

PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1 no such table: crawl_item' in /home/px/Documents/phpcrawler/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:57
Stack trace:...

这个输出可能会有所帮助

 var_dump($conn->connect());
 var_dump($conn->getDatabase());

 bool(true)
 NULL

【问题讨论】:

    标签: sqlite dbal


    【解决方案1】:

    如果您查看 AbstractSQLiteDriver::_constructPdoDsn() 方法,您会看到参数是 'path':

    $connectionParams = [
        [
            'driver' => 'pdo_sqlite',
            'path' => '../products.db'
        ]
    );
    
    $conn = DriverManager::getConnection($connectionParams);
    

    问候, 托马斯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-15
      • 1970-01-01
      • 1970-01-01
      • 2013-06-01
      • 2014-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多