dba_open
(PHP 4, PHP 5)
dba_open — Ouvre une base de donn�es DBA
Description
dba_open() �tablit une connexion � la base rep�r�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.
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 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 :
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. |
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 concurrents � la base de donn�es, hormis pour celles de type GDBM. Voyez le chapitre sur les s�maphores System V. |
avant 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). |
Voir aussi
- dba_popen() - Ouvre une connexion persistante � une base de donn�es DBA
- dba_close() - Ferme une base DBA