(PHP 5 < 5.3.0, dbase 5, dbase 7)
dbase_replace_record — Ersetzt einen Datensatz in einer Datenbank
$dbase_identifier
, array $record
, int $record_number
) : bool
Ersetzt in der Datenbank den angegebenen Datensatz
record_number
mit den Daten aus
record
.
dbase_identifier
Die Datenbank-Verbindungskennung, die von dbase_open() oder dbase_create() zurückgegeben wurde.
record
Ein indiziertes Datenarray. Falls die Anzahl der Elemente nicht mit der Anzahl der Datenbankfelder übereinstimmt, schlägt dbase_replace_record() fehl.
Hinweis:
Vergessen Sie nicht, den deleted-Schlüssel zu löschen, wenn Sie für diesen Parameter den Rückgabewert von dbase_get_record() verwenden.
record_number
Eine Ganzzahl, die von 1 bis zur Anzahl der Datensätze in der Datenbank (wie von dbase_numrecords() zurückgegeben) geht.
Gibt bei Erfolg TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben.
Beispiel #1 Aktualisieren eines Datensatzes in der Datenbank
<?php
// im lesen-schreiben-Modus öffnen
$db = dbase_open('/tmp/test.dbf', 2);
if ($db) {
// den alten Datensatz holen
$datensatz = dbase_get_record_with_names($db, 1);
// den Eintrag 'deleted' entfernen
unset($datensatz['deleted']);
// das Datumsfeld mit dem aktuellen Zeitstempel aktualisieren
$datensatz['Datum'] = date('Ymd');
// wandle den Datensatz in ein indexiertes Array um
$datensatz = array_values($datensatz);
// den Datensatz ersetzen
dbase_replace_record($db, $datensatz, 1);
dbase_close($db);
}
?>
Hinweis:
Boolesche Felder ergeben einen integer-Elementwert (0 oder 1), wenn sie per dbase_get_record() oder dbase_get_record_with_names() gelesen werden. Werden sie zurückgeschrieben, wird der Wert zu 0, so dass darauf geachtet werden muss, den Wert ordnungsgemäß anzupassen.