CakeFest 2024: The Official CakePHP Conference

dbase_replace_record

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

dbase_replace_recordErsetzt einen Datensatz in einer Datenbank

Beschreibung

dbase_replace_record(resource $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 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.

Siehe auch

add a note

User Contributed Notes 1 note

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