Workaround für max_user_connections fehler (HY000/1226)

Hier nur ein kleiner Beitrag wie man sich in kleines Workaround für den mysqli Fehler 1226 bauen kann und man nicht die max_user_connections verändern darf, kann oder ähnliches.

Ich habe z.B. ein etwas größeres Projekt bei dem ich nur 20 user_connections zur zeit verwenden darf. Dieses Limit ist bei über 1500 aktiven Usern am Tage schnell erreicht, weswegen ich schnell folgende Fehlermeldung erhielt:

Quellcode   
PHP Warning: mysqli::mysqli(): (HY000/1226): User 'USER' has exceeded the 'max_user_connections' resource (current value: 20)

Die Lösung des Problems war dann einfach diesen Fehler beim initialisieren des mysqli objects abzufangen und nach 3 Sekunden pause den User noch einmal an seine Zieladresse zu schicken.
Das mag nicht besonders grandios tun. Aber welches Workaround ist das schon.

Quellcode   
<?php
$_mysqli = new mysqli('localhost', 'USER', 'PASSWORD', 'TABLE');
if(mysql_errno() == 1203)  // 1203 == ER_TOO_MANY_USER_CONNECTIONS (mysqld_error.h)
{
  sleep(3);
  header('location: '.$_SERVER['PHP_SELF']);
}
?>