phpbar.de logo

Mailinglisten-Archive

[php] mysql_close

[php] mysql_close

Sebastian Mendel lists at sebastianmendel.de
Die Jun 22 10:27:08 CEST 2004


ANGEL Harald schrieb:

> Hi Liste!
> 
> Hab mir gestern den Befehl mysql_close angeschaut und folgende Fragen dazu:
> 
> Auf meiner Website bekomm ich oft die "Too many SQL-Connections" - Fehlermeldung (mehr als 150 gleichzeitige conns bei ~120 usern)
> Die Scripts sind teilweise sehr lang und haben viele SQL-Statements drin...
> Also, bringt die Verwendung des mysql_close-Befehls direkt nach dem mysql_query da möglicherweise Verbesserungen?
> 
> Auf php.net steht:
> mysql_close() schließt die Verbindung zum MySQL-Server, die mit der angegebenen Verbindungs-Kennung verknüpft ist. Wird die Verbindungs-Kennung nicht angegeben, wird die zuletzt geöffnete Verbindung geschlossen.
> 
> Wenn ich da also dann keine Kennung angebe, wird dann MEINE letze Verbindung geschlossen oder könnte das eine SQL-Connection eines anderen Users sein?

Die letzte Verbindung die in dem laufenden Script geöffnet wurde.

Ein mysql_close() bringt aber nur dann was wenn das Script noch lange 
nach der letzten DB-Anfrage läuft, weil PHP mit ende des Scripts die 
Verbindung eh wieder schließt, wenn kein mysql_pconnect() verwendet wurde.

Es könnte auch was bringen nicht grundsätzlich am Anfang des Scripts die 
DB-Verbindung aufzubauen sondern erst wenn sie gebraucht wird.

Wenn man z.b. eine eigen Funktion hat für abfragen z.b. db_query() 
könnte man erst in dieser Funktione die Verbindung aufbauen.

function db_query($query)
{
   static $mysql_link = null;
   if ( null === $mysql_link )
   {
     $mysql_link = mysql_connect(....);
     mysql_select_db(...);
   }
   ...
   return $result;
}

-- 
Sebastian Mendel

www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime        www.sf.net/projects/phptimesheet

php::bar PHP Wiki   -   Listenarchive