php
  • mysql
  • database
  • 2016-10-23 5 views 5 likes 
    5

    Ich habe zwei Dateien:PHP/MYSQL - Mehrere Verbindungen zu derselben Datenbank?

    config.php:

    $con = mysqli_connect("$dbhost","$dbuser","$dbpass","$dbname"); 
    

    ads.php (config.php require_once):

    $query1 = mysqli_query($con,"SELECT * From XXXX where id = 'XXXX'"); 
    
    $query2 = mysqli_query($con,"SELECT * FROM XXXX2 WHERE id = 'XXXX2'"); 
    

    Ich habe mehr als 40 verschiedene Abfragen mysqli_query() mit $con. Bitte beachte, dass meine ganze Logik prozedural und nicht objektorientiert ist.

    Meine beiden Fragen sind:

    1. bin ich an die DB Anschluss an jede Abfrage eine andere Verbindung verwenden? Oder nur einmal, wenn der erste ausgeführt wird? Gibt es einen besseren Weg, dies zu tun?

    2. Ich verstehe, dass es nicht obligatorisch ist, eine mysql-Verbindung zu schließen, da es sich selbst schließt, aber da wir Millionen von Konsultationen haben, können einige hängen und länger als 10 Sekunden bleiben, nachdem der Benutzer die PHP-Datei verlassen hat. Wenn ich eine Verbindung schließen wollte, sollte ich mysqli_close ($ con) am Ende der Datei (nach den 40 Konsultationen) oder am Ende jeder Konsultation (40 mal) setzen?

    Jede Hilfe wäre willkommen. Danke

    +0

    behandeln Wenn Ihr Code funktioniert, sollten Sie besser stellen Sie Ihre Frage auf http://codereview.stackexchange.com – phaberest

    +1

    Eine MySQL-Verbindung sogar beharrlich über mehrere HTTP-Anfragen verwendet wird. Alles andere wäre in der Tat ein großes Leistungsproblem. Das bedeutet, dass das Schließen der Verbindung die Dinge verlangsamen würde. – arkascha

    Antwort

    2

    Sie verwenden die in mysqli_connect initiierte Verbindung erneut.

    Ein besserer Weg könnte sein, einen DataHandler zu verwenden oder zu erstellen und PDOs zu implementieren. Es könnte erlauben Ihnen, Timing Analysen auf Abfragen automatisieren Bindungsparameter, zerstören die Verbindung einmal seine fertigen mit usw.

    Anruf mysqli_close($con) am Ende der Datei auszuführen. Auch null $con für die Garbage Collection markieren.

    Sobald Sie mit den Informationen aus jedem Schritt fertig sind, können Sie auch anrufen; mysqli_free_result($query1) zu free memory auf die Anweisung zugeordnet

    +1

    Danke, es war hilfreich. – Lucas

    Verwandte Themen