我第一次尝试使用sqlite,现在我使用了这个:
$this->linkIdentifier = new SQLiteDatabase($database);
并且它创建了一个数据库就好了,因为website.sqlite再次打开它并没有给出任何问题,但是一旦我使用http://code.google.com/p/phpliteadmin/来创建一个表并且我再次尝试打开它它会给我这个错误:文件是加密或不是数据库
导致这种情况的原因是什么?
答案 0 :(得分:1)
只是为了澄清:有版本2和版本3的SQLite数据库文件。使用“new SQLiteDatabase()”,您创建版本2的db-file。使用“new SQLite3()”创建一个文件版本3。 如果安装了适当的php扩展,PhpLiteAdmin支持这两个版本。 PhpLiteAdmin告诉您在“SQLite扩展”下打开数据库的“结构”选项卡时使用的扩展名。如果您打开版本2数据库,它应该说“SQLiteDatabase”。如果没有,例如因为未安装此扩展,您可能无法在phpLiteAdmin中编辑版本2数据库。 SQLiteDatabase扩展可能不包含在最新版本的PHP中,例如在PHP 5.4中,它只能通过PECL获得。
答案 1 :(得分:0)
我建议使用PHP自己的SQLite3 functions来创建和保存数据库。确保设置SQLITE3_OPEN_CREATE
标志。