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 = array_values($row);

// 替换记录
dbase_replace_record($db, $row, 1);
dbase_close($db);
}

?>

注释

注意:

布尔字段在通过 dbase_get_record()dbase_get_record_with_names() 检索时,其元素值将为 int 类型(01)。如果将它们写回,则值将变为 0,因此必须注意正确调整值。

参见

添加注释

用户贡献的注释 1 个注释

匿名
9 年前
确保您以写入模式打开了数据库!
dbase_open( "yourfile.dbf", 2)
To Top