php5.4 sqlite3 PDO

时间:2014-05-27 20:41:44

标签: php pdo sqlite

我周围都读过,没有明确的答案 有什么区别:

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

从我可以看出底部两个没有区别?我正在尝试使用sqlite3的最佳解决方案

感谢。

2 个答案:

答案 0 :(得分:0)

基本上,这些是处理数据库的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

答案 1 :(得分:0)

$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也没关系。有关PDO与其他扩展程序之间的区别,请参阅https://stackoverflow.com/a/10703665/476

$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驱动程序那样功能丰富。