von c3o |
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.
|
von HG |
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. |
von god |
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? |
von Philipp Gérard |
wie sieht connect.php aus? |
von god |
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']."
";
}
?> |
|
|