array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.dbase-replace-record.php', 1 => 'dbase_replace_record', ), 'up' => array ( 0 => 'ref.dbase.php', 1 => 'dBase', ), 'prev' => array ( 0 => 'function.dbase-pack.php', 1 => 'dbase_pack', ), 'next' => array ( 0 => 'book.ibase.php', 1 => 'Firebird/InterBase', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/dbase/functions/dbase-replace-record.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 < 5.3.0, dbase 5, dbase 7)
dbase_replace_record — Заменяет запись в базе данных
Заменяет данную запись в базе данных на заданные значения.
database
Ресурс базы данных, возвращаемый функцией dbase_open() или dbase_create().
data
Индексированный массив данных. Количество элементов должно быть равно количеству полей в базе данных, в противном случае вызов dbase_replace_record() не удастся.
Замечание:
Если вы используете в качестве параметра запись, которую вернула dbase_get_record(), не забудьте сбросить ключ с именем
deleted
.
number
Целое число, которое может быть в диапазоне от 1 до числа записей в базе данных (которое вернула функция dbase_numrecords()).
Возвращает true
в случае успешного выполнения или false
, если возникла ошибка.
Пример #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
.