dbase_replace_record

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

dbase_replace_recordReplaces a record in a database

说明

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

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

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()).

返回值

成功时返回 true, 或者在失败时返回 false

更新日志

版本 说明
dbase 7.0.0 database is now a resource instead of an int.

范例

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($db1);
  
  
// 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$row1);
  
dbase_close($db);
}

?>

注释

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.

参见

User Contributed Notes

Anonymous 20-May-2015 01:53
Make sure you opened the database for WRITE!
dbase_open( "yourfile.dbf", 2)