dbase_replace_record

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

dbase_replace_recordRemplace un enregistrement dans une base dBase

Description

dbase_replace_record(resource $database, array $data, int $number): bool

Remplace l'enregistrement passé dans la base de données avec les données fournies.

Liste de paramètres

database

La ressource de base de données, retournée 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 l'on utilise dbase_get_record() pour retourner la valeur de ce paramètre, il ne faut pas oublier 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()).

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Historique

Version Description
PECL dbase 7.0.0 Le paramètre database est maintenant une resource au lieu d'un int.

Exemples

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']);

// Convertir la ligne en un tableau indexé
$row = array_values($row);

// 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);
}

?>

Notes

Note:

Les résultats de champs booléen sont des éléments de valeur de type entier (0 ou 1) quand récupérés via dbase_get_record() ou dbase_get_record_with_names(). Si elles sont réécrites, ceci fera que la valeur deviendra 0, des précautions doivent donc être prises pour ajuster correctement les valeurs.

Voir aussi

add a note

User Contributed Notes 1 note

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