Make sure you opened the database for WRITE!
dbase_open( "yourfile.dbf", 2)
(PHP 5 < 5.3.0, dbase 5, dbase 7)
dbase_replace_record — Remplace un enregistrement dans une base dBase
Remplace l'enregistrement passé dans la base de donnée avec les données fournit.
database
La ressource database, retourné par dbase_open() ou dbase_create().
data
Un tableau indexé des données. Le nombre d'éléments doit être égal au nombre de champs dans la base de données, sinon la fonction dbase_replace_record() échouera.
Note:
Si vous utilisez dbase_get_record() pour retourner la valeur de ce paramètre, n'oubliez pas de réinitialiser la clé nommée
deleted
.
number
Un entier entre 1 et le nombre total d'enregistrements dans la base de données (comme retourné par la fonction dbase_numrecords()).
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Version | Description |
---|---|
dbase 7.0.0 |
Le paramètre database est maintenant
une resource au lieu d'un int.
|
Exemple #1 Mise à jour d'un enregistrement dans une base de données
<?php
// Ouverture en mode lecture-écriture
$db = dbase_open('/tmp/test.dbf', 2);
if ($db) {
// Récupération de l'ancienne ligne
$row = dbase_get_record_with_names($db, 1);
// Supprime l'entrée effacée
unset($row['deleted']);
// Mise à jour de la date du champ avec le timestamp courant
$row['date'] = date('Ymd');
// Remplacer l'enregistrement
dbase_replace_record($db, $row, 1);
dbase_close($db);
}
?>
Note:
Les résultats de champs booléen sont des éléments de valeur de type entier (
0
ou1
) quand récupéré via dbase_get_record() ou dbase_get_record_with_names(). Si elles sont réécrite, ceci causera la valeur à devenir0
, des précautions doivent donc être prise pour ajuster correctement les valeurs.