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 :

Connection BD et variables globales [Tutoriel]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 64
    Par défaut Connection BD et variables globales
    bonjour a tous,

    J'ai utilisé les connexions persistantes pour l'acces a ma BD (mssql).
    Malheureusement, cela complique enormement les choses lorsque plusieurs utilisateurs naviguent simultanement.
    Suis-je obligé de d'ouvrir/fermer la connexion a la BD a chaque page ?
    Y a-t-il un moyen de garder la connexion a la BD de page en page ?

    je me demande aussi ce k'il se fait en general.
    Les sites utilisants une BD ouvre et ferme la connexion a chaque page ?

    merci d avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    En mode normal, il y a une connexion par "page" (=execution d'un script dans un thread ou processus donné).
    En mode persistant, il y a une connexion par thread ou processus. Bref, la connexion de la page est conservée pour être réutilisée plus tard.

    Heureusement, ce n'est pas la même connexion tout au long du site (enfin ça peut l'être mais rien ne le garantit). Sinon on aurait de GROS problèmes de concurrence.

    J'ai utilisé les connexions persistantes pour l'acces a ma BD
    J'espère pour toi que tu as configuré ton serveur web et ton SGBD en conséquence.

    Malheureusement, cela complique enormement les choses lorsque plusieurs utilisateurs naviguent simultanement.
    Je vois pas en quoi ça pose un problème.

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 64
    Par défaut
    bah enfait, lorsque plusieurs utilisateurs sont connectés,
    il y a donc plusieurs requetes avec la meme connexions.
    Ca rame donc bcp et lors des transactions ca merde aussi.

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Bien sûr que non, chaque utilisateur a sa propre connexion.

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 64
    Par défaut
    C'est sur ???
    j'uilise MSSQL serveur et kan je regarde l'utilisation en cours je ne vois qu'une seule connexion.
    De plus, dans la doc de php, il est ecrit que la connexion est toujours ouverte et lors d'une nouvelle de demande de connexion avec le meme login/password c'est la meme connexion utilisé.

    Je parle de connexion entre le serveur web et la BD.

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 573
    Par défaut
    Citation Envoyé par pittacos
    De plus, dans la doc de php, il est ecrit que la connexion est toujours ouverte et lors d'une nouvelle de demande de connexion avec le meme login/password c'est la meme connexion utilisé.
    oui mais seulement dans la même page
    exemple avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $connexion1 = mssql_connect('serveur', 'admin', '');
    $connexion2 = mssql_connect('serveur', 'admin', ''); // appel avec les mêmes arguments donc pas de nouvelle connexion mais $connexion2 = $connexion1
     
    // ...
     
    mssql_close($connexion1); // la connexion $connexion2 est aussi fermée

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 64
    Par défaut
    J'ai developpé un site qui utilise donc ces connexions persistante.
    Lorsque plusieurs utilisateurs naviguent sur le site il y a de tres fgros problemes d'acces a la base.

    Je pensais que le probleme provenait des connexions persitantes.

    Quelle methode est generalement utilsée pour les acces aux BD.
    Connexion persistante ? connexion classique ?

    merci d avance

  8. #8
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    C'est sur ???
    Oui, c'est sûr.
    J'ai juste avant expliqué comment fonctionnait le mode persistant.

  9. #9
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 64
    Par défaut
    Avez-vous une idée d'ou peuvent venir mes erreurs.
    J'utilise donc un serveur MSSQL et des connexions persistantes.
    Lorsque plusieurs utilisateurs se connectent, ca rame enormement et des erreurs d'execution de requetes apparaissent.

    des idées ??


    merci d avance

  10. #10
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 64
    Par défaut
    je me suis retapper tous le code en changeant les connexions persitantes par des connexions normales qui s'ouvre en debut de page et se ferme en fin de page.
    Le probleme est reglé, j'ai testé avec deux utilisateurs simultanés sur le meme poste (j'ai ouvert deux navigateur) et deux utilisateurs sur differents postes.

    voila

    merci a tous

Discussions similaires

  1. Créer une variable globalle a la connection
    Par dem67 dans le forum Oracle
    Réponses: 3
    Dernier message: 14/11/2006, 14h18
  2. Objet Connection variable global
    Par anikeh dans le forum Access
    Réponses: 6
    Dernier message: 23/08/2006, 19h37
  3. Variable "globale" (dans plusieurs templa
    Par mattmat dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/06/2003, 19h22
  4. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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