我周围都读过,没有明确的答案 有什么区别:
$db = new SQLite3('/directory/file.db');
$db = new SQLite('/directory/file.db');
$db = new PDO('sqlite:/directory/file.sqlite');
从我可以看出底部两个没有区别?我正在尝试使用sqlite3的最佳解决方案
感谢。
答案 0 :(得分:0)
基本上,这些是处理数据库的3种不同扩展。
SQLite版本3已经发生了很大的变化,它需要新的驱动程序。所以创建了SQLite3库。
SQLite是您希望使用早于版本3的SQLite数据库。
PDO是库,允许您在不触及代码的情况下更改数据库驱动程序。
基本上,在使用PDO时,您不会编写SQL查询,而是创建查询对象。那些生成查询依赖于当前选择的数据库。允许您顺利更改数据库。
http://www.php.net/manual/en/book.pdo.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驱动程序那样功能丰富。