Заменяет запись в базе данных

# dbase_replace_record

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

dbase_replace_record — Заменяет запись в базе данных

### Описание

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

Функция заменяет запись в базе данных заданными данными.

### Список параметров

`database`

  Ресурс базы данных, который возвращает функция dbase_open() или dbase_create().

`data`

  Индексный массив данных. В параметр передают массив, в котором количество элементов равняется количеству полей в базе данных, иначе в функции dbase_replace_record() возникает ошибка.

  > Замечание:

  > При передаче в параметр записи, которую вернула функция dbase_get_record(), вначале сбрасывают в записи ключ с именем `deleted` (прим пер. — unset(record['deleted']).

`number`

  Параметр принимает целое число в диапазоне от 1 до числа записей в базе данных, которое вернула функция dbase_numrecords().

### Возвращаемые значения

Функция возвращает `true`, если выполнилась успешно, или `false`, если возникла ошибка.

### Список изменений

Версия | Описание
--- | ---
PECL-модуль dbase 7.0.0 | Параметр `database` теперь принимает аргумент с типом resource, а не int.

### Примеры

Пример #1 Пример обновления записи в базе данных

    <?php

    // Открываем БД в режиме чтения и записи
    $db = dbase_open('/tmp/test.dbf', 2);

    if ($db) {
        // Получаем старую запись
        $row = dbase_get_record_with_names($db, 1);

        // Сбрасываем метку 'deleted'
        unset($row['deleted']);

        // Устанавливаем в поле даты текущую дату
        $row['date'] = date('Ymd');

        // Преобразовываем переменную $row в массив
        $row = array_values($row);

        // Заменяем запись
        dbase_replace_record($db, $row, 1);

        // Закрываем БД
        dbase_close($db);
    }

    ?>

### Примечания

> Замечание:

> При получении записей функциями dbase_get_record() и dbase_get_record_with_names() поле логического типа возвращается как целочисленное (int) значение `0` и `1`. Перед обратной записью целочисленные значения преобразовывают в правильные значения, которые в БД принимает поле логического типа, иначе в БД попадёт значение `0`.

### Смотрите также

- dbase_add_record() - Добавляет запись в базу данных
- dbase_delete_record() - Удаляет запись из базы данных

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open