dbase_replace_record
(PHP 5 < 5.3.0, dbase 5, dbase 7)
dbase_replace_record — Ersetzt einen Datensatz in einer Datenbank
Beschreibung
$database
, array $data
, int $number
): bool
Ersetzt in der Datenbank den angegebenen Datensatz
record_number
mit den Daten aus
record
.
Parameter-Liste
-
database
-
Die Datenbank-Ressource, die von dbase_open() oder dbase_create() zurückgegeben wurde.
-
data
-
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. -
number
-
Eine Ganzzahl, die von 1 bis zur Anzahl der Datensätze in der Datenbank (wie von dbase_numrecords() zurückgegeben) geht.
Rückgabewerte
Gibt bei Erfolg true
zurück. Bei einem Fehler wird false
zurückgegeben.
Changelog
Version | Beschreibung |
---|---|
dbase 7.0.0 |
database ist nun eine resource
statt eines int.
|
Beispiele
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);
}
?>
Anmerkungen
Hinweis:
Boolesche Felder ergeben einen int-Elementwert (
0
oder1
), wenn sie per dbase_get_record() oder dbase_get_record_with_names() gelesen werden. Werden sie zurückgeschrieben, wird der Wert zu0
, so dass darauf geachtet werden muss, den Wert ordnungsgemäß anzupassen.
Siehe auch
- dbase_add_record() - Hängt einen Datensatz an eine Datenbank an
- dbase_delete_record() - Markiert einen Datensatz als gelöscht