Hallo,

ik heb een vraag over mysql. Op diverse sites
die ook mysql gebruiken kom ik de foutmelding

to many connections

tegen

ik neem aan dat dit komt door het aantal aanvragen aan de SQL server

wat kan je hier tegen doen om dit te voorkomen

groeten edwin
Als de server van jouw is.

reboten. En alle website even nalopen om ze persistente connecties maken en of ze worden afgesloten. Zoniet dat doen.

Een mysql server kan maximaal xxxxx verbindingen per keer verwerken en als ze niet worden afgesloten blijven ze gewoon bestaan en raakt de server over belast :)
Hier heb ik even een vraagje over ;)
Een mysql connectie, sluit zichzelf af als men de browser sluit veronderstel ik?
Dus die fout kan men enkel hebben als de site echt volzit met bezoekers?
Ben even in de war geraakt...
Je kan het daarom beter zo doen :
<?
mysql_select_db("dbname", mysql_connect("localhost", "naam", "pass"));
# Queries ...
mysql_close();
?>
Bij mysql_connect wordt wordt de conectie na het uitvoeren verbroken. Alleen bij mysql_pconnect is dit het niet het geval en blijft de verbinding gewoon bestaan ook al sluit je de browser. En daar om je na het eindigen van het script de verbinding sluiten doormiddel van mysql_close(); Anders onstaan er te veel verbindingen en kan de mysql server het niet meer aan.

Te veel bezoekers lijkt mij sterk want het zal pas wel zijn bij xxxxx bezoekers per seconden ;)
[Edit] 1 keer is genoeg ;)[/edit]
Het sluiten van de browser heeft *NIETS* te maken met het sluiten van een mysql_connectie. mysql_pconnect moet maar net ondersteund worden.. en dit houd in dat de connectie na het aflopen van php script (Niet het sluiten van de browser) open blijft - en bij een volgend script hergebruikt wordt.

In principe moet je gewoon mysql_close gebruiken.
dus zoals Mitch aangaf is de beste methode


Je kan het daarom beter zo doen :
<?
mysql_select_db("dbname", mysql_connect("localhost", "naam", "pass"));
# Queries ...
mysql_close();
?>

Reageren