sqlite3和pdo_sqlite有什么区别

时间:2013-09-06 14:14:13

标签: php sqlite

我正在将我的Web应用程序从MySQL迁移到SQLite数据库。我发现有两个用于与sqlite通信的PHP扩展: php_sqlite3.dll php_pdo_sqlite.dll

什么扩展更好?或者另一个问题:这些扩展之间的基本区别是什么?

1 个答案:

答案 0 :(得分:16)

PDO是PHP中数据库连接的包装器。它旨在涵盖大多数数据库管理系统(MySQL,PostgreSQL ...)提供的功能。因此,无论使用哪个DMBS,函数调用都是相同的。见http://php.net/manual/en/book.pdo.phpphp_pdo_sqlite.dll允许您使用PDO接口访问SQLite数据库。

另一个库(php_sqlite3.dll)是它自己的具有不同函数调用的接口。使用它的任何代码只能访问SQLite数据库。 http://php.net/manual/en/book.sqlite3.php

您可能会发现PDO与SQLite3的功能不完全匹配。也就是说,SQLite3可能提供PDO无法提供的功能,或者PDO具有无法执行任何操作的功能,因为SQLite3无法支持它们。

PDO的优势在于,如果您希望将来再次切换(您需要切换一次以便再次执行),那么您将不必更改太多代码。如果你保持你的SQL足够通用,你几乎只需要更改连接语句。