2016-09-12 1 views
1

Also meine Website explodiert gerade jetzt. In meiner header.php (eingeloggte Benutzer haben nur) überprüft, ob es einen mysql_error gibt. Wenn eine gefunden wird, zerstört es die Sitzung und Ausgänge:


Sorry, etwas schief gelaufen ist max_user_connections Fehler, was bedeutet das?


[ mysql_error]


In diesem Fall gibt sie:


Sorry, etwas schief gelaufen ist
Benutzer duavatar_dba hat bereits mehr als 'max_user_connections' aktive Verbindungen

Weitere Hinweise
Es gibt eine Sitzungsvariable, die whe erstellt wird n Der Benutzer meldet sich an und der Wert ist die Benutzer-ID (auto_increment) in der Datenbank. Wenn header.php versucht, die ID in der Datenbank von $_SESSION['id'] zu finden, erscheint es (sehr selten) mit "Sorry, etwas ging schief", dann die mysql_error().
Der Code, der diesen Fehler gibt ist

$fetchuser = "SELECT * FROM `duavatar_db`.`users` WHERE `users`.`id`=".$_SESSION['id']; 
$exec = mysql_query($fetchuser, $con); 
if(mysql_num_rows($exec) == 0){ 
session_destroy(); 
die("Sorry, something went wrong.<hr>".mysql_error()); 
} 

YES, $ con A DEFINIERT variabel ist. duavatar_dba ist der Benutzername des mysql-Kontos.


Dieser Fehler tritt häufig auf, wenn eine ID ausgetauscht wurde oder das Konto, mit dem Sie sich angemeldet haben, nur manuell aus der Datenbank entfernt wurde.
Was ich will Ich würde gerne wissen, was "max_user_connections" ist, und wie die Anzahl der "max Verbindungen" (wenn möglich) zu ändern.

Antwort

1

Das ist eine MySQL-Einstellung, die die Anzahl der Verbindungen begrenzt, die ein einzelner Benutzer gleichzeitig mit der Datenbank haben kann. Ihre PHP-Anwendung verbindet sich allgemein auf die Datenbank ein einziges Benutzerkonto - zum Beispiel diejenige, die Sie in der Anweisung:

mysqli_connect("localhost","THIS_USER","my_password","my_db"); 

Sie sind Verkehr offensichtlich übersteigt die Anzahl der zulässigen Verbindungen.

den Wert mit Hilfe dieser Anleitung erhöhen:

http://dev.mysql.com/doc/refman/5.7/en/user-resources.html

Zum Beispiel, wenn Sie die maximale Anzahl der Verbindungen auf 20 erhöhen möchten:

ALTER USER 'your_user'@'your_host' WITH MAX_USER_CONNECTIONS 20; 

Sie reduzieren nicht versehentlich die Anzahl obwohl. Überprüfen Sie den aktuellen Wert mit dieser Abfrage:

SELECT * FROM mysql.user; 
+0

Wie würde ich die Abfrage Beispiele ausführen, die auf diesem Link angezeigt werden? (Was ich meine ist, wohin gehe ich, um diese Befehle auszuführen)? – dukeispie

+0

Ich habe ein spezielles Beispiel für Sie hinzugefügt. –

+0

Nicht dass ich mysql verwende, nicht mysqli. – dukeispie