Bug #10380: dba_*open with mode 'c' problem

From: Date: Wed, 18 Apr 2001 14:02:58 +0000
Subject: Bug #10380: dba_*open with mode 'c' problem
Groups: php.dev 
Request: Send a blank email to php-dev+get-51877@lists.php.net to get a copy of this message
From: mrobinso@php.net Operating system: RedHat 7.0 PHP version: 4.0 Latest CVS (18/04/2001) PHP Bug Type: DBM/DBA related Bug description: dba_*open with mode 'c' problem 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 Bug report at: http://bugs.php.net/?id=10380&edit=1

« previous php.dev (#51877) next »