(PHP 4, PHP 5)
dbase_add_record — Hängt einen Datensatz an eine Datenbank an
Hängt die angegebenen Daten an die Datenbank an.
Die Datenbank-Verbindungskennung, die von dbase_open() oder dbase_create() zurückgegeben wurde.
Ein indiziertes Datenarray. Falls die Anzahl der Elemente nicht mit der Anzahl der Datenbankfelder übereinstimmt, schlägt dbase_add_record() fehl.
Hinweis:
Vergessen Sie nicht, den deleted-Schlüssel zu löschen, wenn Sie für diesen Parameter den Rückgabewert von dbase_get_record() verwenden.
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.
Beispiel #1 Einen Datensatz in eine dBase-Datenbank einfügen
<?php
// im lesen/schreiben-Modus öffnen
$db = dbase_open('/tmp/test.dbf', 2);
if ($db) {
dbase_add_record($db, array(
date('Ymd'),
'Maxim Topolov',
'23',
'max@example.com',
'T'));
dbase_close($db);
}
?>
Apparently, one cannot use associative arrays in order to compose the record to be written to the dbf file. The following code will not work and will raise an unexpected error:
<?php
$record = array("ID" => 10, "VALUE" => 'Hello');
dbase_add_record($dbid, $record);
?>
Instead:
<?php
$record = array(0 => 10, 1 => 'Hello');
dbase_add_record($dbid, $record);
?>
I had some problems with old dbase3 database. Odd behaviour of the php-progs and incomplete file copies.
I assume that the header was partly corrupt, but clipper-progs worked fine. I copied structure to file (copy to test structure extended), then rebuilt the database from the structure file again and made an append from the original file.
That fixed the error.
Field type incompatible inputs can cause PHP to crash or strange errors to occur. After finding that out it was easy to fill also "big" dbase-files with size bigger than 15 MB. Don't let your enthusiasm be broken by inexact error messages! :-)