Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » 'max_questions' resource Antworten
'max_questions' resource

god
Feiertags-Poster


Beiträge: 26


in letzter zeit erscheint bei mir immer öfter die fehlermeldung
User 'metzlerjulian' has exceeded the 'max_questions' resource (current value: 800)

da es kaum möglich ist, dass ~800 user online sind (der online-zähler zeigt z.b. '4 user online' an) und pro script auch max. 2 queries ausgeführt werden,frage ich mich,woran das liegt.
hat jemand ne idee?

---
1000 Schuss und dann ist Schluss ;)

  Profil   E-Mail   Editieren   Zitieren

alexhaid
Fachidiot


Beiträge: 132


Wo erscheint diese Fehlermeldung? Wird sie im Browser ausgegeben? Könnte es ein php-error sein?
Laut deiner Beschreibung nimmst du an, dass es eine mysql - Meldung ist?!
Bitte beschreib dein Problem noch genauer...

alex

  Profil   E-Mail   Editieren   Zitieren

god
Feiertags-Poster


Beiträge: 26


sie wird im browser ausgegeben, an der stelle, an der normalerweise die user angezeigt werden, die online sind.
und da ich bei der mysql-db als 'metzlerjulian' registriert bin,nehme ich an,dass es ein mysql fehler ist....

aber es ist praktisch eine ganz normale abfrage, und nach ca.10 min funkt wieder alles.
kann das problem durch ein vergessenes mysql_close verursacht worden sein/ werden?

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33:
<?php

include("sites/forum/connect.php");

    $sql = "SELECT COUNT(*) as Anzahl FROM Online WHERE user = '".$_SESSION['username']."'";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
if($row['Anzahl']) {
// Nur Datum Updaten
$sql = "UPDATE Online SET Datum = NOW() WHERE user = '".$_SESSION['username']."'";
mysql_query($sql) OR die(mysql_error());
} else { //Neuer eintrag
$sql = "INSERT INTO Online (user, Datum) VALUES ('".$_SESSION['username']."', NOW())";
mysql_query($sql) OR die(mysql_error());
}    // alte Datensätze löschen

$sql = "DELETE FROM Online WHERE DATE_SUB(NOW(), INTERVAL 2 MINUTE) > Datum;";
mysql_query($sql) OR die(mysql_error());
//anzahl ausgeben
$sql = "SELECT COUNT(*) as Anzahl FROM Online;";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
echo "User Online: ".$row['Anzahl'].": ";

$sql2 = "SELECT user FROM Online;";
$result2 = mysql_query($sql2) OR die(mysql_error());

while ($rowneu = mysql_fetch_array($result2, MYSQL_ASSOC)) {
echo $rowneu['user']."
";

}
?>


---
1000 Schuss und dann ist Schluss ;)

Diese Nachricht wurde geändert von: Philipp Gérard
  Profil   E-Mail   Editieren   Zitieren

Philipp Gérard
Foren-Team


Beiträge: 1508


wie sieht connect.php aus?

---
Arbeit ist das Feuer der Gestaltung. - Marx

  Profil   E-Mail   Website   Editieren   Zitieren

god
Feiertags-Poster


Beiträge: 26


so:

<?php

$conn = mysql_connect("freesql.org", "metzlerjulian", "1304");

if ($conn)
{
mysql_select_db("metzlerjulian", $conn);
echo mysql_error();
}

else
{
echo mysql_error();
}

?>

oder könnte es auch daran liegen dass dieses connect.php in fast allen datenbankabrufen verwendet wird, und man die connects etwas verteilen soollte?

---
1000 Schuss und dann ist Schluss ;)

  Profil   E-Mail   Editieren   Zitieren

HG
Posting-Schinder


Beiträge: 520


Da du einen externen Dienst verwendest, schätze ich, daß es sich um Probleme auf deren Seite handelt, möglicherweise aber auch um Einschränkungen, die auf deren Seite gemacht werden.

Zum einen brauchst du pro Skriptaufruf nur einmal "mysql_connect" aufrufen. Außerdem solltest du immer das Resultat mit Hilfe von "mysql_free" auflösen wenn du es nicht mehr brauchst, und drittens ist am Ende des Skripts ein "mysql_close" nicht verkehrt.

---
www.kuminatano.de

  Profil   E-Mail   Website   Editieren   Zitieren

c3o
Posting-Schinder


Beiträge: 586


max_questions gibts als Einstellung anscheinend erst in MySQL 4, ich hab nicht mal in der Doku auf mysql.com dazu viel Schlüssiges gefunden. "Questions" jedenfalls sind Queries.

Aber halt, nachdem es sich um freesql.org handelt, ist die Antwort wohl schlicht und einfach: Die sind überlastet.

  Profil   E-Mail   Website   Editieren   Zitieren
 

Antworten
Nach oben