Make sure you opened the database for WRITE!
dbase_open( "yourfile.dbf", 2)
PHP - Manual: dbase_replace_record
2024-12-22
(PHP 5 < 5.3.0, dbase 5, dbase 7)
dbase_replace_record — Replaces a record in a database
$database
, array $data
, int $number
): boolReplaces the given record in the database with the given data.
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.
注意:
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()).
成功时返回 true
, 或者在失败时返回 false
。
版本 | 说明 |
---|---|
dbase 7.0.0 |
database is now a resource
instead of an int.
|
示例 #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);
}
?>
注意:
Boolean fields result in an int element value (
0
or1
) when retrieved via dbase_get_record() or dbase_get_record_with_names(). If they are written back, this results in the value becoming0
, so care has to be taken to properly adjust the values.
官方地址:https://www.php.net/manual/en/function.dbase-replace-record.php