Opens a DBM database
Code Examples / Notes » dbmopen
Want to use dbmopen() to open an NDBM DB under solaris? Want to have GDBM support as well? Tough; you can't. You *can* use dba_open(), but you need to jump through a couple of hoops first:
First, you need to re-roll libgdbm so that DBM/NDBM compatiblity are removed. For GDBM-1.7.3, change this line in the Makefile:
OBJS = $(DBM_OF) $(NDBM_OF) $(GDBM_OF)
OBJS = $(GDBM_OF)
Once that's installed, re-run ./configure --with-gdbm=/<prefix> --with-ndbm --with-db=/<prefix> <other args>, where <prefix> is the directory which holds the include/ directory containing the associated header files. make, make install, adjust your scripts to use dba_open() with the ndbm handler. Voila!
If you are running php >4.0.2 and you have suddenly problems with dbmopen (i.e. it complains that the function does not exist), recompile php with --with-ndb *and* --with-db
If using php3 on a win 95/98 machine, you must have the complete path to the db file. And always remember that if you user the " mark, add one extra slash before any regular slashes. Otherwise use the ' and normal slashes.
$dmb = 'd:\httpd\storit\users';
$modify = dbmopen($dmb, "w");
$username = dbmfetch($modify, $email, $username);
$password = dbmfetch($modify, $username, $password);
echo "Current username: $username";
echo "Current password: $password";