dba_open
(PHP 4, PHP 5, PHP 7)
dba_open — Ouvre une base de données DBA
Description
dba_open() établit une connexion à
la base identifiée par path
avec le
mode mode
et l'identifiant
handler
.
Liste de paramètres
-
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. La base de données est créée en mode BTree ; les autres modes (comme Hash ou Queue) ne sont pas supportés.
De plus, vous pouvez choisir la méthode de verrouillage de la base avec le caractère suivant. Utilisez l pour verrouiller 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 requière 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 :
Verrouillage DBA 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
illégal illégal illégal illégal mode
= "wl"attente FALSE
attente FALSE
illégal illégal illégal illégal mode
= "rd"illégal illégal illégal illégal ok ok attente FALSE
mode
= "wd"illégal illégal illégal illégal 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 retourne
FALSE
. - illégal: 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_open() et peut agir au nom d'eux.
Valeurs de retour
Retourne un gestionnaire positif en cas de succès ou FALSE
si une erreur survient.
Historique
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. |
Voir aussi
- dba_popen() - Ouvre une connexion persistante à une base de données DBA
- dba_close() - Ferme une base DBA
Version en cache
23/12/2024 04:59:04 Cette version de la page est en cache (à la date du 23/12/2024 04:59:04) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-function.dba-open.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.