【发布时间】:2014-03-05 12:24:02
【问题描述】:
我希望能够将整个 sqlite 数据库转储到文件 (database.sql) 中,以便将其用作备份。问题是 PHP 中的 exec() 似乎无法正确运行“.dump”命令,因为它只给出“COMMIT;”结果而不是全文:
$db = new SQLite3('checks_db.db');
$results=$db->exec('.dump');
$content=$results->fetchArray();
如果我从 sqlite3 运行它,它会同时提供模式和插入指令以及数据。 也许我还应该提到数据库有 777 权限。 谁能写一个php-sqlite3中'.dump'命令的语法示例?
【问题讨论】:
-
显示您的
exec()命令。 -
PHP 脚本的名称为
$db = new SQLite3('checks_db.db'); $results=$db->exec('.dump'); $content=$results->fetchArray();,但我在 $contents 中一无所获。 -
结果是什么(
$content)? -
我得到了这个答案:
Warning: SQLite3::exec(): near ".": syntax error in C:\Documents and Settings\Filippos\wapache\htdocs\checks\save_db.php on line 4 Fatal error: Call to a member function fetchArray() on a non-object in C:\Documents and Settings\Filippos\wapache\htdocs\checks\save_db.php on line 5 -
如果我在 ubuntu 中运行它,我只会得到
COMMIT;,这是我期望的数据的最后一行。