PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

dblist> <dbase_replace_record
Last updated: Tue, 27 Nov 2007

view this page in

Funciones DBM Functions [obsoletas]

Introducción

Estas funciones le permiten almacenar registros almacenados en una base de datos estilo-dbm. Este tipo de base de datos (soportado por la BD de Berkeley, » GDBM, y algunas bibliotecas de sistema, asi como en la forma de una biblioteca incorporada de archivos planos) almacena parejas clave/valor (a diferencia de los registros completos soportados por las bases de datos relacionales).

Note: El soporte de DBM se considera obsoleto y es recomendable que use las funciones de la capa de abstracción de bases de datos (estilo-dbm) en su lugar.

Note: Esta extensión ha sido eliminada de PHP, y no se encuentra disponible a partir de PHP 5.0.0.

Requisitos

Para usar estas funciones es necesario compilar PHP con soporte para una base de datos base. Consulte la lista de bases de datos soportadas.

Instalación

Para poder usar estas funciones, se debe compilar PHP con soporte dbm, empleando la opción --with-db en la compilación. Adem´s, se debe contar con el soporte de una base de datos o se deben usar algunas librerías del sistema.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

La función dbmopen() devuelve un identificador de base de datos que es usado por las demás funciones dbm.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Ejemplos

Example#1 Ejemplo de DBM

<?php

$dbm 
dbmopen("lastseen""w");
if (
dbmexists($dbm$id_usuario)) {
    
$last_seen dbmfetch($dbm$id_usuario);
} else {
    
dbminsert($dbm$id_usuariotime());
}
hacer_algo();
dbmreplace($dbm$id_usuariotime());
dbmclose($dbm);

?>

Table of Contents

  • dblist — Describe la biblioteca compatible con DBM usada
  • dbmclose — Cierra una base de datos dbm
  • dbmdelete — Elimina el valor para una clave desde una base de datos DBM
  • dbmexists — Indica si un valor existe para una clave en una base de datos DBM
  • dbmfetch — Recupera un valor para la clave dada desde una base de datos DBM
  • dbmfirstkey — Recupera la primera clave desde una base de datos DBM
  • dbminsert — Inserta un valor para una clave en la base de datos DBM
  • dbmnextkey — Descripción
  • dbmopen — Abre una base de datos DBM
  • dbmreplace — Reemplaza el valor para una clave en una base de datos DBM


dblist> <dbase_replace_record
Last updated: Tue, 27 Nov 2007
 
add a note add a note User Contributed Notes
DBM
foripepe at yahoo dot com
28-Feb-2002 06:16
First:
Make a firstdbm.db file.
Set attribute Read and Write.

--------------------------------------

<html><body>

<?
$dbm
= dbmopen("firstdbm","w");
echo
"<b>\$dbm: $dbm = dbmopen(\"firstdbm\", \"w\");</b>< br>";
echo
"<i>".dblist()." = dblist();</i>< br>< br>";

$fruit = "apple";
$colour = "red";
if (
dbmexists ($dbm, $fruit)) {
 
$colour = dbmfetch ($dbm, $fruit);
  echo
"\$colour: $colour = dbmfetch(\$dbm: $dbm, \$fruit: $fruit);< br>";
 
$key = dbmreplace($dbm, $fruit, "green");
  echo
"\$key: $key = dbmreplace(\$dbm: $dbm, \$fruit: $fruit, \"green\");< br>";
 
$colour = dbmfetch ($dbm, $fruit);
  echo
"\$colour: $colour = dbmfetch(\$dbm: $dbm, \$fruit: $fruit);< br>";
  if ( !
dbmdelete($dbm, $fruit) ) {
    echo
"False (OK) = dbmdelete(\$dbm: $dbm, \$fruit: $fruit);< br>";
  } else {
    echo
"True (NOT OK) = dbmdelete(\$dbm: $dbm, \$fruit: $fruit);< br>";
  }
 
$colour = dbmfetch ($dbm, $fruit);
  echo
"\$color: $colour = dbmfetch(\$dbm: $dbm, \$fruit: $fruit);< br><hr>";
 
$i = 1;
 
$key = dbmfirstkey($dbm);
  while (
$key) {
    if (
$i==1) {
      echo
"\$key: $key = dbmfirstkey(\$dbm: $dbm);< br>";
    } else {
      echo
"\$key: $key = dbmnextkey(\$dbm: $dbm);< br>";
    }
   
$i++;
   
$colour = dbmfetch ($dbm, $key);
    echo
"\$colour: $colour = dbmfetch(\$dbm: $dbm, \$key: $key);< br>";
   
$key = dbmnextkey($dbm,$key);
  }
} else {
 
dbminsert ($dbm, $fruit, $colour);
  echo
"dbminsert(\$dbm: $dbm, \$fruit: $fruit, \$colour: $colour);< br>";
 
dbminsert ($dbm, "pear", "yellow");
  echo
"dbminsert(\$dbm: $dbm, \"pear\", \"yellow\");< br>";
 
dbminsert ($dbm, "apricot", "pink");
  echo
"dbminsert(\$dbm: $dbm, \"apricot\", \"pink\");< br><hr>";
 
$i = 1;
 
$key = dbmfirstkey($dbm);
  while (
$key) {
    if (
$i==1) {
      echo
"\$key: $key = dbmfirstkey(\$dbm: $dbm);< br>";
    } else {
      echo
"\$key: $key = dbmnextkey(\$dbm: $dbm);< br>";
    }
   
$i++;
   
$colour = dbmfetch ($dbm, $key);
    echo
"\$colour: $colour = dbmfetch(\$dbm: $dbm, \$key: $key);< br>";
   
$key = dbmnextkey($dbm,$key);
  }
}

echo
"< br>";
if (
dbmclose ($dbm)) {
  echo
"<b>True (OK) = dbmclose(\$dbm: $dbm);</b>< br>";
} else {
  echo
"<b>False (NOT OK) = dbmclose(\$dbm: $dbm);</b>< br>";
};
?>

</body></html>

--------------------------------------
The first run output:

$dbm: 1 = dbmopen("firstdbm", "w");
ndbm support enabled = dblist();

dbminsert($dbm: 1, $fruit: apple, $colour: red);
dbminsert($dbm: 1, "pear", "yellow");
dbminsert($dbm: 1, "apricot", "pink");

$key: pear = dbmfirstkey($dbm: 1);
$colour: yellow = dbmfetch($dbm: 1, $key: pear);
$key: apricot = dbmnextkey($dbm: 1);
$colour: pink = dbmfetch($dbm: 1, $key: apricot);
$key: apple = dbmnextkey($dbm: 1);
$colour: red = dbmfetch($dbm: 1, $key: apple);

True (OK) = dbmclose($dbm: 1);

--------------------------------------
The second run output:

$dbm: 1 = dbmopen("firstdbm", "w");
ndbm support enabled = dblist();

$colour: red = dbmfetch($dbm: 1, $fruit: apple);
$key: 0 = dbmreplace($dbm: 1, $fruit: apple, "green");
$colour: green = dbmfetch($dbm: 1, $fruit: apple);
False (OK) = dbmdelete($dbm: 1, $fruit: apple);
$color: = dbmfetch($dbm: 1, $fruit: apple);

$key: pear = dbmfirstkey($dbm: 1);
$colour: yellow = dbmfetch($dbm: 1, $key: pear);
$key: apricot = dbmnextkey($dbm: 1);
$colour: pink = dbmfetch($dbm: 1, $key: apricot);

True (OK) = dbmclose($dbm: 1);
jb at abzone dot cz
05-Oct-2001 05:27
NOTE: DBM and DBA are two different extensions which must
      be configured separately.

Hi *,
names of these functions was changed in PHP4.
Refer to http://www.faqts.com/knowledge_base/view.phtml/aid/1988
or http://www.zend.com/manual/ref.dba.php .
Regards Jindra
mouse at bloodletting dot com
07-Jul-2001 01:23
Be advised that almost every function in this section either has no documentation or incorrectly documented regarding return codes.  If you want to use the DB methods safely you will have to reverse engineer the return codes and hope that they do not change values returned by the functions in the future to match the incorrect documentation.

In my experience, the return code of 0 or FALSE indicates no error.  This matches the behavior of GDBM which I am using as my underlying DB manager.  This may not be true for people using another manager, or the builtin flatfile code.

dblist> <dbase_replace_record
Last updated: Tue, 27 Nov 2007
 
 
show source | credits | sitemap | contact | advertising | mirror sites