在PHP中正确使用SQLite3

时间:2010-03-31 17:46:05

标签: php sqlite

有什么区别:

$db = new SQLiteDatabase('name.db');

$db = new PDO('sqlite:name.db');

因为,我不明白这里的大局,细节对我来说还为时过早,网上提供的信息似乎假设我似乎缺乏某些知识。请不要只粘贴PHP手册的链接。不太具体,更一般的概念对我有用。

另外,这两种方法都使用SQLite 3而不是SQLite 2吗?

1 个答案:

答案 0 :(得分:2)

直接使用SQLite函数/类,您的PHP代码只与SQLIte兼容。

使用PDO,您的PHP代码将与许多数据库系统兼容 - 有关现有驱动程序的列表,请参阅PDO Drivers
引用Introduction page of PDO

  

PDO提供数据访问抽象   层,这意味着,无论如何   您正在使用哪个数据库   发出查询的功能相同   并获取数据。


如果您希望代码与多个数据库引擎兼容,则此抽象层非常有用;但请注意:

  • 使用PDO,您无法始终使用特定于数据库系统的功能
  • 使用PDO意味着您的PHP代码将兼容;这并不意味着你的SQL也会如此:那仍然是你的工作。


有关SQLite和SQLite3的问题:

  • PDO似乎同时支持两者 - 请参阅SQLite Functions (PDO_SQLITE)
    • 要使用其中一个,您只需使用其他DSN
    • 注意:使用几个不同的数据库系统是PDO很棒的东西; - )
  • 使用特定的数据库扩展:
    • SQLite2有一个扩展名:SQLite
    • SQLite3的另一个扩展:SQLite3
      • 请注意,这个似乎只包含在PHP> = 5.3