【问题标题】:php5.4 sqlite3 PDOphp5.4 sqlite3 PDO
【发布时间】:2016-01-23 17:01:52
【问题描述】:

我已经阅读了所有内容,没有明确的答案 有什么区别:

$db = new SQLite3('/directory/file.db');
$db = new SQLite('/directory/file.db');
$db = new PDO('sqlite:/directory/file.sqlite');

据我所知,底部两个之间没有区别吗?我正在尝试使用带有 sqlite3 的 PDO 的最佳解决方案

谢谢。

【问题讨论】:

  • 一个使用 sqlite 原生函数,另一个使用 pdo 包装器..

标签: php pdo sqlite


【解决方案1】:
$db = new SQLite3('/directory/file.db');

这是 SQLite3 扩展,请参见此处:http://php.net/SQLite3

$db = new PDO('sqlite:/directory/file.sqlite');

这是带有 sqlite 驱动程序的 PDO 扩展,也适用于 SQLite3 数据库。见http://php.net/manual/en/ref.pdo-sqlite.php

如果您喜欢 PDO 的界面,那就太好了。否则,SQLite3 也可以。请参阅https://stackoverflow.com/a/10703665/476 了解 PDO 和其他扩展的区别。

$db = new SQLite('/directory/file.db');

这是:

在 PHP 5.1 中,SQLite 扩展还提供了 SQLite 2 的驱动程序 数据库;虽然它在技术上不是 PDO_SQLITE 的一部分 驱动程序,它的行为类似,因此它与它一起记录。这 提供 PDO 的 SQLite 2 驱动程序主要是为了使其更容易 将旧版 SQLite 2 数据库文件导入到使用 更快、更高效的 SQLite 3 驱动程序。因此,SQLite 2 驱动程序不如 SQLite 3 驱动程序功能丰富。

【讨论】:

    【解决方案2】:

    基本上,这些是用于处理数据库的 3 个不同的扩展。

    SQLite 版本 3 发生了很大变化,它需要新的驱动程序。于是就创建了 SQLite3 库。

    SQLite 适用于您想要使用版本 3 之前的 SQLite 数据库。

    PDO 是一个库,它允许您在不接触代码的情况下更改数据库驱动程序。

    基本上,在使用 PDO 时,您不会编写 SQL 查询,而是创建查询对象。那些根据当前选择的数据库生成查询。让您轻松更改数据库。

    http://www.php.net/manual/en/book.pdo.php

    http://www.php.net/manual/en/book.sqlite.php

    http://www.php.net/manual/en/book.sqlite3.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-12
      • 2012-07-24
      • 2013-06-17
      • 1970-01-01
      • 2021-07-12
      • 1970-01-01
      • 2019-07-20
      相关资源
      最近更新 更多