Anfängerfrage zu mySQL und PHP, um zu vermeiden, dass auf jeder Seite eine Verbindung zur Datenbank hergestellt wird

8

Ich code eine einfache PHP / MySQL-Webseite, die es gibt page1.php , page2.php und so weiter. Da ich die Datenbank auf jeder Seite (oder mindestens 90% davon) nutze, platziere ich oben auf der Seite den Standard

%Vor%

mit meinen Abfragen.

Meine Frage ist, ob ich wirklich eine Verbindung zur Datenbank auf jeder Seite herstellen muss oder gibt es eine Möglichkeit, dies zu vermeiden und trotzdem in Verbindung zu bleiben? Einige der Seiten sind mit den anderen verlinkt, und ich kann SESSIONS verwenden, um einige Variablen zu veröffentlichen, aber meine Frage geht an etwas Globalisierteres.

    
EnexoOnoma 23.08.2011, 17:18
quelle

4 Antworten

6

Sie können mysql_pconnect für eine dauerhafte Verbindung verwenden, obwohl dies nicht hilft Sie so viel und es kann ein großer Schmerz sein, richtig zu tun. Es ist fast nur besser, auf jeder Seite eine Verbindung herzustellen, besonders wenn der Datenbankserver auf demselben Rechner wie der PHP-Server läuft.

    
jli 23.08.2011, 17:21
quelle
7

Das Web arbeitet von Natur aus in einem getrennten Zustand. Das bedeutet, dass Sie keine Ahnung haben, ob der Client für eine zweite Anfrage zurückkommen wird oder nicht.

Unabhängig davon, ob Sie die Verbindung zur Datenbank auf jeder einzelnen Seite herstellen oder trennen möchten. Nur so können Sie sicherstellen, dass keine Verbindungen verloren gehen und die Site reaktionsfähig bleibt.

Die meisten Systeme verfügen über Möglichkeiten, das Verbindungs-Pooling zu handhaben, wodurch das Anfordern einer neuen Verbindung sehr schnell wird und Sie sich daher keine Sorgen machen müssen.

    
NotMe 23.08.2011 17:22
quelle
1

Versuchen Sie es mit

%Vor%

Von PHP.net

"verhält sich sehr ähnlich wie mysql_connect () mit zwei Hauptunterschieden.

Zuerst versucht die Funktion beim Verbinden, zuerst einen (persistenten) Link zu finden, der bereits mit demselben Host, Benutzernamen und Passwort geöffnet ist. Wenn eine gefunden wird, wird eine ID zurückgegeben, anstatt eine neue Verbindung zu öffnen.

Zweitens wird die Verbindung zum SQL-Server nicht geschlossen, wenn die Ausführung des Skripts endet. Stattdessen bleibt die Verknüpfung für die zukünftige Verwendung geöffnet (mysql_close () schließt die von mysql_pconnect () eingerichteten Verbindungen nicht). "

    
swordfish 23.08.2011 17:23
quelle
1

Wenn Sie es nur so einrichten wollen, dass Sie es nicht am Anfang jeder Datei fest codieren müssen, schreiben Sie den Verbindungscode in eine Datei und verwenden Sie dann require /path/to/file/name.php und es wird jedes Mal eingerichtet kann es einschließen und nicht erfordern.

    
Travis Pessetto 23.08.2011 17:40
quelle

Tags und Links