dba_nextkey
<<<
dba_open dba_optimize
>>>

8.20 DBA
8 Référence des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes pré-définies
Exemples
dba_close
dba_delete
dba_exists
dba_fetch
dba_firstkey
dba_handlers
dba_insert
dba_key_split
dba_list
dba_nextkey
->dba_open
dba_optimize
dba_popen
dba_replace
dba_sync

8.20.18 dba_open()Ouvre une base de données DBA

[ Exemples avec dba_open ]   PHP 3>= 3.0.8, PHP 4 , PHP 5

resource  dba_open ( string   path , string   mode , string   handler , ...   )

dba_open établit une connexion à la base repérée par path avec le mode mode et l'identifiant handler .

    path
    Chemin sur votre système de fichiers.
    mode
    Il vaut r pour lecture seule, w pour lecture/écriture, c pour lecture/écriture, et création si la base n'existe pas, et n pour création, écrasement et accès en lecture/écriture.

    De plus, vous pouvez choisir la méthode de verrouillage de la base avec le caractère suivant. Utilisez l pour vérrouiller la base avec un fichier .lck , ou d pour verrouiller la base elle-même. Il est important que vos application utilisent ces options de manière cohérente.

    Si vous voulez tester la possibilité d'accès, et ne pas attendre la disponibilité du verrou, vous pouvez ajouter la lettre t comme troisième caractère. Lorsque vous êtes absolument certain que votre base ne requiert pas de verrou, vous pouvez utiliser le tiret - à la place de l ou d . Lorsque vous n'utilisez ni d , ni l ni - , dba va verrouiller en mode d .

    Note

    Il ne peut y avoir qu'un seul type d'écriture dans la base. Lorsque vous utilisez dba sur un serveur web, et que plusieurs requêtes HTTP effectuent des écritures, elles ne peuvent être faites que l'une après l'autre. De même, la lecture durant l'écriture n'est pas possible. L'extension dba utilise un verrou pour éviter ces problèmes. Voici la table de verrouillage :
    déjà ouverte mode = "rl" mode = "rlt" mode = "wl" mode = "wlt" mode = "rd" mode = "rdt" mode = "wd" mode = "wdt"
    non-ouverte ok ok ok ok ok ok ok ok
    mode = "rl" ok ok attente FALSE illegal illegal illegal illegal
    mode = "wl" attente FALSE attente FALSE illegal illegal illegal illegal
    mode = "rd" illegal illegal illegal illegal ok ok attente FALSE
    mode = "wd" illegal illegal illegal illegal attente FALSE attente FALSE

      ok: Le second appel réussit.
      wait: Le second appel attend que dba_close soit appelé par le premier script.
      FALSE : Le second appel retourn FALSE .
      illegal: vous ne devez pas mélanger les options "l" et "d" pour le paramètre mode .

    handler
    Le nom du gestionnaire qui doit être utilisé pour accéder à path . C'est passé à tous les paramètres facultatifs donnés à dba_popen et peut agir au nom d'eux.

Retourne un gestionnaire positif en cas de succès, ou FALSE si une erreur survient.

Version Description
4.3.0 il est possible d'ouvrir la base de données à travers le réseau. Toutefois, dans le cas où des connexions sockets seront utilisées (via HTTP ou FTP), la connexion sera verrouillée, et non pas la ressource. C'est important de le savoir pour comprendre que dans ce cas, le verrouillage sera ignoré, et d'autres solutions doivent être trouvées.
4.3.0 Le paramètre de verrouillage mode et les options "l", "d", "-" et "t" ont été ajoutées. Dans les versions de PHP antérieures à la PHP 4.3.0, vous deviez utiliser des sémaphores pour éviter les accès concurents à la base de données, hormis pour celles de type GDBM. Voyez le chapitre sur les sémaphores System V.
before 4.3.5 le mode 'c' est inopérant pour de nombreux gestionnaires internes, et tronque la base au lieu d'ajouter les données à la base existante. De plus, dbm et ndbm échoue en mode 'c' dans des configurations typiques (impossible à corriger).

<< dba_open >>
dba_nextkey DBA dba_optimize