PHP 7.1.0 Released

dbase_replace_record

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

dbase_replace_recordデータベースのレコードを置換する

説明

bool dbase_replace_record ( int $dbase_identifier , array $record , int $record_number )

データベースの指定したレコードを、指定した値で置換します。

パラメータ

dbase_identifier

データベースのリンク ID 。dbase_open() あるいは dbase_create() によって返されます。

record

データの配列。要素の数がデータベースのフィールド数と一致している 必要があります。それ以外の場合はdbase_replace_record() は失敗します。

注意:

dbase_get_record() が返す値をこのパラメータに 使用する際は、deleted という名前のキーを リセットすることを忘れないでください。

record_number

1 からデータベース内のレコード数 (dbase_numrecords() が返す) までの範囲の整数値。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例1 データベースのレコードの更新

<?php

// read-write モードでオープンする
$db dbase_open('/tmp/test.dbf'2);

if (
$db) {
  
// 変更前の行を取得する
  
$row dbase_get_record_with_names($db1);
  
  
// 'deleted' エントリを削除する
  
unset($row['deleted']);
  
  
// 現在のタイムスタンプでフィールドを更新する
  
$row['date'] = date('Ymd');
  
  
// 行を数値添字配列に変換する
  
$row array_values($row);

  
// レコードを置換する
  
dbase_replace_record($db$row1);
  
dbase_close($db);
}

?>

注意

注意:

dbase_get_record()dbase_get_record_with_names() で取得した場合、 Boolean フィールドの要素の値は integer (0 あるいは 1) になります。 このまま行を書き戻すと値が 0 になってしまうので、 適切に調整する必要があります。

参考

add a note add a note

User Contributed Notes 1 note

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