En utilisant la même Connexion MySQL dans les différentes pages PHP
Je suis entrain de créer une Application Web simple en PHP pour mon projet de collège. Je suis l'aide de la base de données MySQL.
- Je me connecter à la base de données dans login.php. Après la connexion, j'affecter la connexion à $_SESSION["conn"] et puis rediriger vers main.php.
Dans main.php j'écris $conn = $_SESSION["conn"]. Mais la connexion en $conn ne fonctionne pas.
Je pense que l'login.php script se termine, la connexion se ferme. J'ai donc essayé d'utiliser mysql_pconnect au lieu de mysql_connect mais ne fonctionne pas.
Je sais que je peux reconnecter à la base de données dans chaque fichier PHP. Mais je ne veux pas faire ça. Je veux utiliser la même connexion dans tous les fichiers PHP.
en considérant que vous avez pas enregistrer ressources de la session pour commencer, c'est une chose étrange à dire.
Je voulais en magasin. Vous ne savez pas si c'est faisable en PHP ou pas.
OriginalL'auteur Cracker | 2010-02-14
Vous devez vous connecter pour publier un commentaire.
Au lieu de sauver le DB connection dans une session, vous devez établir la connexion pour les appels dans un fichier séparé comme db.php puis d'exiger de chacun de vos scripts. Par exemple, placez votre connexion dans l'db.php:
et puis de le mettre dans login.php:
Vous pouvez ensuite faire de même pour chaque fichier PHP qui a besoin d'accéder à la base de données et vous ne jamais avoir à changer votre DB informations d'identification d'accès dans un fichier.
OriginalL'auteur nortron
Vous aurez probablement envie de lire sur Sessions PHP. Vous ne pouvez pas stocker les ressources (connexions de base de données, les descripteurs de fichiers, etc) dans une session, car ils ne peuvent pas être sérialisé et stockées.
Gardez à l'esprit que chaque visite à un script PHP invoque une nouvelle instance de l'interprète PHP (via CGI, via FastCGI, ou via un module intégré), et appelle une nouvelle instance du script. Rien n'est partagé entre les appels de script, parce que l'ensemble de l'environnement disparaît lorsque le script se termine.
Les autres réponses sont correctes, - vous aurez besoin de se connecter à la base de données sur chaque appel du script. Lieu de connexion dans une commune d'inclure le fichier pour des raisons de commodité.
OriginalL'auteur Charles
La deuxième demande ne peut pas être servi par le même serveur web de traiter comme le premier, ce qui signifie que vous aurez un tout autre ensemble de ressources de base de données. Vous aurez besoin de vous connecter de nouveau dans ce nouveau processus afin d'exécuter des requêtes.
OriginalL'auteur Ignacio Vazquez-Abrams
Ce que j'ai normalement est une classe de Connexion, les pages seront nécessaires afin d'établir une connexion. Quelque chose le long des lignes de:
Cette classe gère l'ouverture et la fermeture de la connexion sur toutes les pages.
OriginalL'auteur Justin Skiles
Il semble que vous voulez faire de votre php connexions persistants , de cette manière, et si c'est le cas , alors vous devez créer un Objet PDO avec les paramètres requis pour créer une nouvelle version de PHP Objet PDO qui tentera de se connecter à mysql , et dans l'instanciation de l'objet , essayez de passer persistancy valeur de l'option à true , vous pouvez disposer dans tous les scripts php le même AOP Connexion Objetc mais vous allez vous retrouver à faire face à des problèmes avec cette façon ... mais il n'est pas reconmmanded que la Programmation PHP les Meilleures Pratiques ... la meilleure façon de le faire est d'inclure un fichier de connexion pour chaque script dans votre projet. Lire la Documentation PHP pour les Connexions Persistantes pour en savoir plus sur les Problèmes trouvés pour la Connexion de ces Objets en particulier pour les dernières versions de php. PHP a Annoncé que les Connexions Persistantes sont sur le chemin pour être passé de version futur, car elle peut augmenter la charge du serveur, avec persistant ressources ... Désolé si c'est trop tard
OriginalL'auteur Shabasha