dbase_replace_record
(PHP 5 < 5.3.0, dbase 5, dbase 7)
Replaces a record in a database
Description
Replaces the given record in the database with the given data.
Parameters
databaseThe database resource, returned by
dbase_open()ordbase_create().dataAn indexed array of data. The number of items must be equal to the number of fields in the database, otherwise
dbase_replace_record()will fail.NoteIf you're using
dbase_get_record()return value for this parameter, remember to reset the key nameddeleted.numberAn integer which spans from 1 to the number of records in the database (as returned by
dbase_numrecords()).
Return Values
Success
Changelog
| Version | Description |
|---|---|
| PECL dbase 7.0.0 | database is now a resource instead of an int. |
Examples
Updating a record in the database
<?php
// open in read-write mode
$db = dbase_open('/tmp/test.dbf', 2);
if ($db) {
// gets the old row
$row = dbase_get_record_with_names($db, 1);
// remove the 'deleted' entry
unset($row['deleted']);
// Update the date field with the current timestamp
$row['date'] = date('Ymd');
// convert the row to an indexed array
$row = array_values($row);
// Replace the record
dbase_replace_record($db, $row, 1);
dbase_close($db);
}
?>Notes
Boolean fields result in an int element value (0 or 1) when retrieved via dbase_get_record() or dbase_get_record_with_names(). If they are written back, this results in the value becoming 0, so care has to be taken to properly adjust the values.