ID: 10380 Updated by: swm Old Summary: dba_*open with mode 'c' problem Reported By: [EMAIL PROTECTED] Old Status: Open Status: Closed Bug Type: DBM/DBA related Operating System: RedHat 7.0 PHP Version: 4.0 Latest CVS (18/04/2001) New Comment:
Fixed in current CVS Previous Comments: ------------------------------------------------------------------------ [2001-04-18 10:02:58] [EMAIL PROTECTED] db3 support compiled in without problems, all functions available and working. apache-1.3.19, php snapshot from today. db3 3.1.14-6, devel, utils, stock rpm install in rhl-7.0. database directory is "drwxrwxrwt"; using dba_open or dba_popen, with mode 'c', if the database doesn't exist, it is created and the function performs as expected. If the database already exists, the function should open the database for read/write access. Instead, it throws: driver initialization failed... despite having just created the database itself. For example: $dbpath = "/usr/local/db3data/test/testdb3.db3"; $dbmode = "c"; $dbhandler = "db3"; $dbh = dba_popen($dbpath,$dbmode,$dbhandler); $mykey = "mykey"; $myval = "Hello World"; if (!dba_exists($mykey,$dbh)) { echo "Key doesn't exist, adding it.<br>\n"; dba_insert ($mykey, $myval, $dbh); } else { $storedval = dba_fetch($mykey, $dbh); echo $storedval; } This snippet will work as expected if the database doesn't exist. If it does, the error occurs, where according to the docs it should just open the database for read write access. If the database exists and I change the mode to 'w', expected behaviour occurs. ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=10380&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]