Make sure you opened the database for WRITE!
dbase_open( "yourfile.dbf", 2)(PHP 5 < 5.3.0, dbase 5, dbase 7)
dbase_replace_record — Reemplaza un registro en una base dBase
Reemplaza el registro pasado en la base de datos con los datos proporcionados.
databaseEl recurso de la base de datos, devuelto por dbase_open() o dbase_create().
dataUn array indexado de datos. El número de elementos debe ser igual al número de campos en la base de datos, de lo contrario la función dbase_replace_record() fallará.
Nota:
Si se utiliza dbase_get_record() para devolver el valor de este argumento, no se olvide de reinicializar la clave nombrada
deleted.
numberUn entero entre 1 y el número total de registros en la base de datos (como devuelto por la función dbase_numrecords()).
| Versión | Descripción |
|---|---|
| PECL dbase 7.0.0 |
El argumento database es ahora
una resource en lugar de un int.
|
Ejemplo #1 Actualización de un registro en una base de datos
<?php
// Apertura en modo lectura-escritura
$db = dbase_open('/tmp/test.dbf', 2);
if ($db) {
// Recuperación de la antigua fila
$row = dbase_get_record_with_names($db, 1);
// Elimina la entrada borrada
unset($row['deleted']);
// Actualización de la fecha del campo con el timestamp actual
$row['date'] = date('Ymd');
// Reemplazar el registro
dbase_replace_record($db, $row, 1);
dbase_close($db);
}
?>Nota:
Los resultados de los campos booleano son elementos de valor de tipo entero (
0o1) cuando se recuperan mediante dbase_get_record() o dbase_get_record_with_names(). Si se reescriben, esto hará que el valor se convierta en0, por lo que se deben tomar precauciones para ajustar correctamente los valores.