Connexion persistante MySQL

Discussion dans 'Web, design' créé par guslinux, 13 Janvier 2007.

Statut de la discussion:
Fermée.
  1. Offline
    guslinux Gamerz'ien
    Salut à tous,

    Je pensais à l'aspect Transactions utilisable avec MySQL ou PostGreSQL ... est-ce qu'il est possible d'implémenter ca en PHP ?

    Le problème est que avec mysql_connect() on ouvre une session MySQL à chaque page. Cette session est ensuite fermée.

    Donc la transaction est coupé avant validation ou refus... Il en va de meme pour les tables temporaires : elles existent durant une seule page !

    La session mysql_pconnect() va chercher les connexions ouvertes avec le nom d'utilisateur, port etc etc ...

    Mes questions sont les suivantes :
    - Est-il possible d'ouvrir une seule fois la session MySQL et d'en sauvegarder l'id dans une variable de session.
    - Est-il possible de se passé de l'executions de mysql_pconnect() à chaque page étant donné que on ouvre une connexion presistante et qu'on a sauvegardé l'ID.
    - Et pour terminer, peut-on définir un timout pour les sessions ouvertes et ainsi ne pas avoir à gerer les fermetures brutales.

    mysql_pconnect() : http://be2.php.net/manual/fr/function.mysql-pconnect.php
    mysql_connect() : http://be2.php.net/manual/fr/function.mysql-connect.php

    Merci pour vos infos, je cherche de mon coté aussi :=)
    guslinux, 13 Janvier 2007
    #1
  2. Offline
    zoheir cvm.mangaleet()
    zoheir, 13 Janvier 2007
    #2
  3. Offline
    Bingo Beer Addict
    Je ne suis pas sûr que ce soit une bonne approche.
    Une transaction est faite pour être courte. C'est une fonctionnalité de bases de données pour grouper des requêtes et toutes les valider ou toutes les annuler d'un coup, mais ce n'est pas fait pour durer.

    Je te conseille plutôt de conserver les requêtes au fur et à mesure de l'avancement sur le site, pour toutes les envoyer en un bloc si l'utilisateur confirme à la fin du processus.
    Tu peux les stocker dans une table par exemple.
    Bingo, 14 Janvier 2007
    #3
Statut de la discussion:
Fermée.