2011年6月6日月曜日

SQLite関数で「file is encrypted or is not a database」というエラーが出る場合

PHPのsqlite_open関数でSQLiteのデータベースを開こうとしたら「file is encrypted or is not a database」というエラーが出ました。
直訳すると「ファイルは暗号化されているか、データベースではないです」ということ。

どうやらSQLiteの互換性の問題のようです。
SQLite3とそれ以前のSQLiteはかなり異なった設計なのでPHPの旧関数は使えない模様。
PDOで開けば解決します。

データベース開くのに固有の関数はよろしくないですね。
ただし、テストなど色々試したい場合があると思いますので一応メモです。

PHP5でも組み込まれているのがSQLite2.8などの場合があります、そうすると思わぬ互換性問題が発生しますのでお気をつけを。

0 件のコメント:

コメントを投稿