dbase_replace_record

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_replace_recordReplaces a record in a database

Description

dbase_replace_record(resource $database, array $data, int $number): bool

Replaces the given record in the database with the given data.

Parameters

database

The database resource, returned by dbase_open() or dbase_create().

data

An 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.

Note:

If you're using dbase_get_record() return value for this parameter, remember to reset the key named deleted.

number

An integer which spans from 1 to the number of records in the database (as returned by dbase_numrecords()).

Return Values

Returns true on success or false on failure.

Changelog

Version Description
PECL dbase 7.0.0 database is now a resource instead of an int.

Examples

Example #1 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

Note:

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.

See Also

add a note

User Contributed Notes 1 note

up
1
Anonymous
9 years ago
Make sure you opened the database for WRITE!
dbase_open( "yourfile.dbf", 2)
To Top