# dbase_replace_record

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

dbase_replace_record — Replaces a record in a database

### 说明

dbase_replace_record ( resource `$dbase_identifier` , array `$record` , int `$record_number` ) : bool

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

### 参数

`dbase_identifier`

  The database link identifier, returned by dbase_open() or dbase_create().

`record`

  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.

`record_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 | `dbase_identifier` 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($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);
    }

    ?>

### 注释

> Note:

> Boolean fields result in an integer 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.

### 参见

- dbase_add_record() - Adds a record to a database
- dbase_delete_record() - Deletes a record from a database