Edit report at http://bugs.php.net/bug.php?id=49518&edit=1
ID: 49518 Comment by: pbrun dot pro at gmail dot com Reported by: wjzhhr at gmail dot com Summary: can't open encrypted sqlite3 database Status: Bogus Type: Bug Package: SQLite related Operating System: windwos xp PHP Version: 5.3.0 Block user comment: N Private report: N New Comment: How create a SQLite database can open by php ? i use : $db = new SQLite3('test2.sqlite',SQLITE3_OPEN_CREATE,'test'); But the SQLite database create is not encrypted. Previous Comments: ------------------------------------------------------------------------ [2009-09-11 01:50:22] scott...@php.net wxsqlite3 contains a custom encryption layer that isn't part of the standard SQLite3 library which PHP includes. ------------------------------------------------------------------------ [2009-09-11 00:45:23] wjzhhr at gmail dot com I use wxsqlite3-1.9.5 to create sqlite3 database, and the key is 1. if I use sqlite3shell.exe open "x.db",the result will right. I never use sqlite2,always use sqlite3. ------------------------------------------------------------------------ [2009-09-10 13:12:05] scott...@php.net Pretty sure wxSQLite is SQLite2 and you need wxSQLite3. ------------------------------------------------------------------------ [2009-09-10 09:58:52] sjo...@php.net Does it work when you supply the right encryption key as the third parameter? SQLite3::__construct ( string $filename [, int $flags [, string $encryption_key ]] ) ------------------------------------------------------------------------ [2009-09-10 08:15:49] wjzhhr at gmail dot com Description: ------------ can't open encrypted database which created by wxSQLite. <?php $db = new SQLite3('x.db',SQLITE3_OPEN_READONLY,"1"); $db->exec("PRAGMA KEY='1'"); $result = $db->query('SELECT * FROM xxx'); var_dump($result->fetchArray()); ?> Warning: SQLite3::query(): Unable to prepare statement: 26, file is encrypted or is not a database Reproduce code: --------------- --- >From manual page: sqlite3.open --- Expected result: ---------------- my table: CREATE TABLE xxx(iswho text,itimes int); liming|1 xiaojie|2 two records. Expected result: array(4) { [0]=> string(6) "liming" ["iswho"]=> string(6) "liming" [1]=> int(1) ["itimes"]=> int(1) } Actual result: -------------- Warning: SQLite3::query(): Unable to prepare statement: 26, file is encrypted or is not a database ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=49518&edit=1