我的应用程序使用SQLite进行数据存储。一切都很好,但有一天有人破坏了数据文件,现在应用程序无法读取它。我不明白具体是什么问题,但我知道有两件事:
1)$result = sqlite_query($query,$db_path);
当此代码与旧备份一起运行时(顺便说一下,它不包含所有数据),一切正常,$result
成为正确的值。当它与损坏的文件一起运行时,$result
变为null
2)我在记事本中打开了这个损坏的SQLite文件,它看起来很好(它的结构就像旧结构一样)。
我唯一的想法是解析该损坏的文件。我在哪里可以获得SQLite文件规范?或许还有另一种方式?
答案 0 :(得分:0)
有一个名为 sqlite3 的命令行工具,可以让您管理SQLite数据库。 启动后,使用“.help”查看可用选项。我没有在损坏的数据库上尝试过,所以我不知道它会如何发展。
一个想法是从sqlite数据库中查看模式和 dump 表,一次一个,直到你点击存储在文件损坏部分的表。
cristi:FoodBrowser diciu$ sqlite3 FoodBrowser.sql
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .help
.backup ?DB? FILE Backup DB (default "main") to FILE
[..]