12

I'm migrating my web application from MySQL to SQLite database. I found out there are two PHP extensions for communicating with sqlite: php_sqlite3.dll and php_pdo_sqlite.dll.

What extension is better? Or another question: what are the basic differences between these extensions?

4

1 に答える 1

18

PDO は、PHP のデータベース接続のラッパーです。大多数のデータベース管理システム (MySQL、PostgreSQL など) が提供する機能をカバーするように設計されているため、使用している DBMS に関係なく、関数呼び出しはすべて同じです。http://php.net/manual/en/book.pdo.phpを参照してください。php_pdo_sqlite.dllPDO インターフェイスを使用して SQLite データベースにアクセスできます。

もう 1 つのライブラリ ( php_sqlite3.dll) は、さまざまな関数呼び出しを持つ独自のインターフェイスです。これを使用するコードは、SQLite データベースにしかアクセスできません。 http://php.net/manual/en/book.sqlite3.php

PDO が SQLite3 の機能と完全に一致していないことに気付くかもしれません。つまり、SQLite3 は PDO を介して利用できないものを提供するか、SQLite3 がそれらをサポートできないために何もしない関数を PDO が持っている可能性があります。

PDO の利点は、将来再び切り替えたい場合 (一度切り替えたので、再度切り替える可能性がある場合) に、多くのコードを変更する必要がないことです。SQL を十分に一般的なものにしておくと、ほとんどの場合、接続ステートメントを変更するだけで済みます。

于 2013-09-06T14:18:43.107 に答える