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 — Añade un registro a la base de datos
Descripción
Añade el registro indicado a la base de datos.
Lista de parámetros
- dbase_identifier
-
El identificador de base de datos, devuelto por la función dbase_open() o dbase_create().
- record
-
Una matriz de datos indexados. El número de elementos debe ser igual que el número de campos de la base de datos, ya que de otro modo la función dbase_add_record() fallará.
Note: Si se emplean como parámetro los valores devueltos por dbase_get_record() se deben resetear el valor de la clave asociativa deleted.
Valores retornados
Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.
Ejemplos
Example #1 Inserción de un registro en una base de datos dBase
<?php
// abrir en modo lectura y escritura
$db = dbase_open('/tmp/test.dbf', 2);
if ($db) {
dbase_add_record($db, array(
date('Ymd'),
'Pedro Perez',
'23',
'pperez@example.com',
'T'));
dbase_close($db);
}
?>
dbase_add_record
27-Jan-2006 02:49
07-Jul-2005 01:57
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.
11-Dec-2002 09:59
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! :-)
