|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2003-05-23 08:41 UTC] derick@php.net
[2003-05-23 13:46 UTC] helly@php.net
[2003-05-28 19:51 UTC] sniper@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 17 07:00:01 2025 UTC |
When doing a dba_exists() or dba_fetch() on a ndbm database then one has to attach a "\0" character to the key string that it matches. Configuration: ./configure --prefix=/opt/apache \ --with-apxs2=/opt/apache/bin/apxs \ --enable-safe-mode \ --with-openssl=/opt/openssl \ --with-ldap=/opt/openldap \ --with-imap=/opt/uw-imap \ --with-config-file-path=/opt/apache/conf \ --enable-dba \ --with-dbm \ --with-ndbm Script that explains the problem: $alias = "some string"; $id = dba_open($ALIASES_FILE, 'r', 'ndbm'); $key = dba_firstkey($id); # $key contains trailing \0 char print dba_fetch($alias, $id); # does not match print dba_fetch("$alias\0", $id); # works dba_close($id); Don't know whether it works with other dba handlers or other PHP version.