IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de donn�es Discussion :

Information sur la gestion des acc�s � la base de donn�es


Sujet :

PHP & Base de donn�es

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 25
    Par d�faut Information sur la gestion des acc�s � la base de donn�es
    Bonjour,
    je m'int�resse aujourd'hui � PDO... Je cherche en effet � refondre un de mes vieux sites en me basant sur une conception plus �volutive et maintenable.

    Ma question concerne le design pattern singleton et l'acc�s � la base de donn�es. Cette question n'est effectivement pas propre � PDO et serait valable avec une gestion plus ancienne de l'acc�s � la base de donn�es (mysql_connect...), mais m'int�ressant � cette technologie (notamment l'ORM d�crit ici : http://julien-pauli.developpez.com/tutoriels/php/pdo/) j'ai pr�f�r� poster mon topic dans cette section du forum.

    Dans le cadre d'un design pattern singleton appliqu� � une classe h�ritant de la classe PDO : la connexion � la base de donn�es est-elle la m�me pour tous les utilisateurs (cas 1) ? ou bien permet-il juste de garantir l'unicit� de la connexion pour 1 utilisateur (cas 2) ?

    Si le cas (1) est vrai, comment g�rer dans ce cas un pool de connexion et permettre aux utilisateurs de requ�ter la base en m�me temps ?
    Si le cas (2) est vrai, comment g�rer l'ex�cution de 2 requ�tes cons�cutives et d�pendantes (Par exemple, cas de l'ex�cution d'une requ�te avec une clause LIMIT puis d'une requ�te de type FOUND_ROWS) ?

    Je ne sais pas si je suis bien clair... Si c'est le cas n'h�sitez � me le dire et j'essaierai de mieux m'exprimer.

    Par avance merci pour vos �claircissements.

  2. #2
    Expert confirm�
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 685
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 685
    Par d�faut
    Citation Envoy� par doudou34 Voir le message
    Dans le cadre d'un design pattern singleton appliqu� � une classe h�ritant de la classe PDO : la connexion � la base de donn�es est-elle la m�me pour tous les utilisateurs (cas 1) ? ou bien permet-il juste de garantir l'unicit� de la connexion pour 1 utilisateur (cas 2) ?
    pour �tre pr�cis, la connexion peut seulement �tre unique sur une page puisque PHP ferme automatiquement la connexion � la fin de la page

    Citation Envoy� par doudou34 Voir le message
    Si le cas (2) est vrai, comment g�rer l'ex�cution de 2 requ�tes cons�cutives et d�pendantes (Par exemple, cas de l'ex�cution d'une requ�te avec une clause LIMIT puis d'une requ�te de type FOUND_ROWS) ?
    pour �a tu peux utiliser une transaction :
    http://sqlpro.developpez.com/isolation-transaction/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 25
    Par d�faut
    OK si j'ai bien compris, l'usage du design pattern singleton dans ce cas, permet seulement de conserver/r�server une unique connexion � la base de donn�es pendant l'ex�cution du script....
    Chaque utilisateur ayant fait une requ�te au serveur aura donc une connexion qui lui sera d�di� tout au long du traitement de sa demande.

    Est-il possible toutefois en PHP de faire en sorte qu'un instance d'objet soit unique pour tous les monde ? (dsl ma question n'est du coup surement pas dans la bonne cat�gorie du forum)

    Au sujet de l'utilisation d'un transaction : pourquoi serait-elle n�cessaire puisque la connexion est unique � chaque utilisateur ?
    Si je fait un FOUND_ROWS, mySQL devrait me retourner le nombre de ligne de la derni�re requ�te ex�cut�e sur la connexion utilis�e, et cette connexion est utilis�e � un instant T par un seul utilisateur....


    PS : d�sol� si je suis pas clair... j'entends par "utilisateur" une 'instance du script PHP qui est en cours d'ex�cution dans mon application, pour traiter la demande d'un utilisateur

  4. #4
    Membre �m�rite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Par d�faut
    Non, il n'a pas de v�ritable singleton en PHP. Toute les donn�es sont "recharg�es et d�truites" entre 2 appels de scripts (2 requ�tes http le plus souvent).

    Pour le FOUND_ROWS, cette fonction doit renvoyer une info stock�e au niveau du SGBD, pas de la connexion. Voil� pourquoi l'utilisation de transaction est n�cessaire.

Discussions similaires

  1. Gestion des acc�s � une base de donn�es & retry
    Par GasparOff dans le forum D�veloppement de jobs
    R�ponses: 3
    Dernier message: 12/03/2014, 12h47
  2. R�ponses: 3
    Dernier message: 01/07/2012, 15h57
  3. R�ponses: 0
    Dernier message: 13/03/2010, 10h20
  4. Gestion des acc�s � une base de donn�es
    Par white_tiger dans le forum S�curit�
    R�ponses: 7
    Dernier message: 07/02/2007, 00h39
  5. R�ponses: 12
    Dernier message: 06/10/2006, 13h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo