(PHP 5 < 5.3.0, dbase 5, dbase 7)
dbase_replace_record — データベースのレコードを置換する
$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($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() で取得した場合、 Boolean フィールドの要素の値は integer (0 あるいは 1) になります。 このまま行を書き戻すと値が 0 になってしまうので、 適切に調整する必要があります。