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);
?>
dbase_add_record
(PHP 4, PHP 5)
dbase_add_record — Adds a record to a database
Description
bool dbase_add_record
( int
$dbase_identifier
, array $record
)Adds the given data to the database.
Parameters
-
dbase_identifier -
The database link identifier, returned by dbase_open() or dbase_create().
-
record -
An indexed array of data. The number of items must be equal to the number of fields in the database, otherwise dbase_add_record() will fail.
Note:
If you're using dbase_get_record() return value for this parameter, remember to reset the key named deleted.
Return Values
Returns TRUE on success or FALSE on failure.
Examples
Example #1 Inserting a record in a dBase database
<?php
// open in read-write mode
$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);
}
?>
See Also
- dbase_delete_record() - Deletes a record from a database
- dbase_replace_record() - Replaces a record in a database
michele dot manzato at NOSPAM dot verona dot miz dot it ¶
7 years ago
Dahlmann at Dahlmann dot biz ¶
7 years ago
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.
heinrich at c-tera dot de ¶
10 years ago
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! :-)
