PHP Conference Nagoya 2025

dbase_replace_record

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

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

Описание

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.

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

Добавить

Примечания пользователей 1 note

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