確認您已開啟資料庫以進行寫入!
dbase_open( "yourfile.dbf", 2)
(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() 返回)。
範例 #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() 檢索時,布林欄位會產生 整數 元素值(
0
或1
)。如果將它們寫回,則會導致值變為0
,因此必須小心正確調整這些值。