【问题标题】:Setting sqlite3 database path using PDO使用 PDO 设置 sqlite3 数据库路径
【发布时间】:2012-06-02 15:01:40
【问题描述】:

很难找出在 PHP 中使用 PDO 为我的 sqlite3 数据库设置的路径。

我的代码如下:

$handle = new PDO('sqlite:/C:/New folder/sqlite/test.db') or die("Could not open 
database");
echo $handle;
$query = "SELECT * FROM student";

调试结果:

它返回一个空白网页而不是打印出 $handle。我已经设置了存储我的 sqlite 数据库文件的所需路径。我错过了什么?

请多多指教。

【问题讨论】:

  • 空白网页通常意味着致命错误。打开错误报告并打开显示错误。谷歌如果需要的话。
  • 已经尝试使用 try catch 异常来查看错误。但仍然没有任何结果。
  • 那是因为 php 在发生错误时很少抛出异常。它不是调试的方式。
  • 我认为我的错误是“在查询中找不到 driverError:不是错误”。不确定需要什么驱动程序。我已经有了所有的扩展。
  • 这很奇怪,SQLite驱动是默认安装和启用的。您是否使用共享网络主机?提供程序可能已在 PDO 中手动禁用 SQLite。另外,您确定您要打印的“无”不是无法打印的东西吗?尝试 var_export($handle) 而不是 echo $handle。

标签: php sqlite pdo


【解决方案1】:

首先您需要知道安装了哪些 PDO 驱动程序,在其中创建一个空白文件:

<?php phpinfo(); ?>

然后查找 PDO 部分,您应该会看到以下内容:

PDO drivers mysql, sqlite, sqlite2

如果你只有mysql,那么你需要安装 sqlite pdo 驱动。使用谷歌,不要忘记也检查你的生产服务器,否则你创建的东西你可能无法在你的主机上使用。

由于 PDO 驱动程序很像旧的 sqlite_open(),它会在找不到时为您创建数据库文件。

您可能也知道文件路径中的空格不太好,可能会导致问题,

而不是使用: sqlite:/C:/New folder/sqlite/test.db您至少应该将您的新文件夹重命名为其他名称:sqlite:/New_folder/sqlite/test.db

【讨论】:

  • 我的文件有问题,这就是我无法打开的原因。无论如何,谢谢!
猜你喜欢
  • 1970-01-01
  • 2011-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多