DBM Datenbank unter Windows
Seit neuestem experimentiere ich ein wenig mit
Dbm Datenbanken rum. Kann es sein, dass die dbm
Funktionen unter Windows (98, XP)
nicht richtig funktionieren ? Hier ein Beispielskript:
Produkte werden in die Datenbank geschrieben(das funktioniert)
<?php
$dbh = dbmopen( "./data/produkte", "c" )
or die( "Konnte DBM nicht öffnen" );
dbminsert( $dbh, "Der amerikanische Bürgerkrieg", "25.20" );
dbminsert( $dbh, "Engel", "33.30" );
dbminsert( $dbh, "Nichts als die Wahrheit", "2209.50" );
dbminsert( $dbh, "HAL 2000", "4535.50" );
dbmclose( $dbh );
?>
Ausgabe der Produkte sowie Preise:
<table border=1 cellpadding ="5">
<tr>
<td align="center"> <b>Produkt</b></td>
<td align="center"> <b>Preis</b> </td>
</tr>
<?php
$dbh = dbmopen( "./data/produkte", "c" )
or die( "Konnte DBM nicht öffnen" );
$schluessel = dbmfirstkey( $dbh );
while ( $schluessel != "" )
{
$wert = dbmfetch( $dbh, $schluessel );
print "<tr><td align = "left"> $schluessel </td>";
print "<td align = "right"> $$wert </td></tr>";
$schluessel = dbmnextkey( $dbh, $schluessel );
}
dbmclose( $dbh );
?>
</table>
Sobald der Produktname zu lang ist, findet eine fehlerhafte wirre Ausgabe statt. Der Preis wird gar nicht wiedergegeben.
Ich habe schon weitere dbm Datenbanken erstellt und immer wieder kommt es zu verschiedenen Ausgabeproblemen. Viele Beispielprogramme bezog ich aus dem Buch ´Jetzt lerne ich PHP 4´ aber auch diese wurden nicht ordnungsgemäss ausgeführt.
Läuft dbm nur unter Linux oder Unix....oder muss ich irgendein Update ziehen oder was muss ich tun ????
|