PHPCon Poland 2024

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.

number

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

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

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

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

Версия Описание
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.

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

add a note

User Contributed Notes 1 note

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