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 — Добавляет запись в базу данных
Описание
$dbase_identifier
, array $record
)Добавляет данные в базу данных
Список параметров
-
dbase_identifier -
Идентификатор базы данных, возвращаемый функцией dbase_open() или dbase_create().
-
record -
Индексированный массив с данными. Количество элементов должно быть равно числу полей в базе данных, в противном случае dbase_add_record() не удастся выполнить.
Замечание:
Если вы используете в качестве параметра запись, которую вернула функция dbase_get_record(), не забудте сбросить ключ deleted. (прим пер. - unset(record['deleted']);
Возвращаемые значения
Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
Примеры
Пример #1 Вставка записи в базу данных dBase
<?php
// открыть БД в режиме чтения и записи
$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);
}
?>
Смотрите также
- dbase_delete_record() - Удаление записей из базы данных
- dbase_replace_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! :-)
