Bug #3371: dbmfetch reurns an empty string

From: Date: Tue, 01 Feb 2000 11:54:50 +0000
Subject: Bug #3371: dbmfetch reurns an empty string
Groups: php.dev 
Request: Send a blank email to php-dev+get-15105@lists.php.net to get a copy of this message
From: kredel@rz.uni-mannheim.de Operating system: Linux PHP version: 3.0.12 PHP Bug Type: DBM/DBA related Bug description: dbmfetch reurns an empty string A counter function written in php and using gdbm is no more working. the dbmfetch funktion returns empty string, while dbmexists indicates the existence of an string. looking into the dbm file shows the value is there. I include first the output of two different systems (the first is th buggy one) and then the php script. ---------- PHP mit dbm: Datei: /home4/kredel/public_html/ex51.phtml. open: 1 key: /home4/kredel/public_html/ex51.phtml found: #### put: 1 replace: 1 1 Zugriffe, Geändert am 01 Feb 2000 12:38:08 DB Version: This is GDBM version 1.7.3, as of May 19, 1994. Hostname: trumpf-5.rz.uni-mannheim.de Server Software: Apache/1.3.9 (Unix) PHP/3.0.12 ---------- PHP mit dbm: Datei: /home4/kredel/public_html/ex51.phtml. open: 1 key: /home4/kredel/public_html/ex51.phtml found: ##129## put: 130 replace: 130 130 Zugriffe, Geändert am 01 Feb 2000 12:38:08 DB Version: This is GDBM version 1.7.3, as of May 19, 1994. Hostname: trumpf-4.rz.uni-mannheim.de Server Software: mod_perl/1.18 Apache/1.3.4 (Unix) (SuSE/Linux) PHP/3.0.7 ---------- <?php $filename=$SCRIPT_FILENAME; function modified($lang) { global $filename; $lm=date("d M Y H:i:s",filectime($filename)); if ($lang=="de") { return "Ge&auml;ndert am $lm"; } else { return "Last modified: $lm"; } } $filename=$SCRIPT_FILENAME; $counter_start="1"; function counter() { global $filename, $counter_start; $counter_dir="/tmp/"; $counter_db=$counter_dir . "zaehler.dbm"; if (file_exists("$counter_db")) { $db=dbmopen($counter_db,"w"); echo "<p>open: $db</p>"; echo "<p>key: $filename</p>"; if ( dbmexists($db,$filename) ) { $cnt=dbmfetch($db,$filename); echo "<p>found: ##$cnt##</p>"; if ($counter_start=="1") { $cnt++; } else { $cnt=$counter_start; } echo "<p>put: $cnt</p>"; dbmreplace($db,$filename,$cnt); echo "<p>replace: $cnt</p>"; } else { $cnt=$counter_start; dbminsert($db,$filename,$cnt); } dbmclose($db); return "$cnt"; } else { echo "Attempt to create file: " . $counter_db; $cnt=$counter_start; $db=dbmopen($counter_db,"n"); dbminsert($db,$filename,$cnt); dbmclose($db); return "$cnt"; } } ?> <html> <head> <title>php dbm</title> </head> <body> <p>PHP mit dbm:</p> <p> <?php /* $counter_start="9999"; */ echo "<h3>Datei: $SCRIPT_FILENAME.</h3>"; echo "<h3>" . counter(). " Zugriffe,"; echo " " . modified("de") . "</h3>"; $yyy=dblist(); echo "<p>DB Version: $yyy</p>"; echo "<p>Hostname: $HTTP_HOST</p>"; echo "<p>Server Software: $SERVER_SOFTWARE</p>"; ?> </body> ----------

« previous php.dev (#15105) next »