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.
database
El recurso de la base de datos, devuelto por dbase_open() o dbase_create().
data
Un 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
.
number
Un 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 bool son elementos de valor de tipo int (
0
o1
) 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.