Online User anzeigen

Nicht das PHP-Script sondern das fertige SQL war gemeint. Die Ausgabe am Bildschirm....

Ohne deine Datenbankstruktur zu kennen ist es für uns nicht wirklich möglich zu sagen wo du die kleinen Fehler in deinem SQL eingebaut hast

Aber CPoly hat dir ja schon gesagt, wo es seiner Meinung nach liegen könnte und ich bin da gleicher Meinung.

Schau dir mal folgende Zeile an.

PHP:
$abfragen=mysql_query("SELECT user FROM dieb_user_ WHERE online = 1 AND DATE_ADD(loginzeit,INTERVAL 1200 SECOND) > NOW()");

Ich glaube eine Tabelle "dieb_user_" existiert in deiner Datenbank nicht. Das du das Suffix (".$digit.") vergessen hast, zeugt von Schlafmangel. Also mach einfach mal eine Pause. Auch das muss man lernen.

Edit:
Um den Fehler zu sehen, welcher dir die MySql Datenbank liefert, kannst du unter der Zeile mal per echo mysql_error() ausgeben.
 
Der Teil ist falsch:
DATE_ADD(loginzeit,INTERVAL 1200 SECOND) > NOW())

müsste m.E. so heissen:
DATE_ADD(loginzeit,INTERVAL 1200 SECOND)) > NOW()


müdigkeit macht unkonzentriert sollte auch langsam pennen gehen ^^
Ja, schlaf mal.... *g*
Sag mal Da_Chris. Wo ist die 2te sich öffnende Klammer?

mMn sollte es so heissen:
SQL:
DATE_ADD(loginzeit,INTERVAL 1200 SECOND) > NOW()
 
Zuletzt bearbeitet von einem Moderator:
sodala, das is zwar etz nich dass was wir alle wollen aber ich bin grad voll am abkacken...sorry für die wortwahl, aber is so ^^

Also folgende Daten sind glaub ich relevant:
Name der Tabelle: dieb_user_
Name der Spalte: time // hier ist NOW() in DATETIME abgespeichert

so und jetz is natürlich so dass ich hier:
PHP:
AND DATE_ADD(loginzeit,INTERVAL 1200 SECOND)

was änder, nur die frage für mich -> Wo und was, das DATE_ADD oder loginzeit oder wie oder was...ich hab keine ahnung was da n befehl ist und was n platzhalter...
 
sodala, das is zwar etz nich dass was wir alle wollen aber ich bin grad voll am abkacken...sorry für die wortwahl, aber is so ^^

Also folgende Daten sind glaub ich relevant:
Name der Tabelle: dieb_user_
Name der Spalte: time // hier ist NOW() in DATETIME abgespeichert

so und jetz is natürlich so dass ich hier:
PHP:
AND DATE_ADD(loginzeit,INTERVAL 1200 SECOND)

was änder, nur die frage für mich -> Wo und was, das DATE_ADD oder loginzeit oder wie oder was...ich hab keine ahnung was da n befehl ist und was n platzhalter...
Sorry, doch die Sprache der jungen Leute schient mir nicht geläufig.
Ich versteh diesen Beitrag nicht. Ich lese Buchstaben und manchmal auch Worte. Ich finde aber auch mit mehrmaligem lesen (auch lautem lesen - denn das hilft beim Verstehen) nicht heraus was du sagen willst und was die Frage ist.

Das einzige was ich grad seh, ist das die Spalte time heisst und du im SQL den Namen loginzeit verwendest. Wenns der Name time ist, solltest du ihn mit ´ schreiben, damit MySQL keinen internen Befehlel namens time ausführen will.
SQL:
AND DATE_ADD(´time´,INTERVAL 1200 SECOND)
 
Zuletzt bearbeitet von einem Moderator:
Gut, also mein PHPMyAdmin nimmt jetzt den Code von Select an, nur frage, wie gebe ich jetz was aus, wenn ich es mit

PHP:
$row2 = mysql_fetch_array($sql);


versuche, bringt er ne fehlermeldung

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/pages/headnut/web/game/test.php on line 4

und ansonsten wüsste ich nicht wie ich des machen kann ?!
 
Dein SQL scheint falsch zu sein
PHP:
$sql = "SELECT ich bin ein, beispiel und du musst mich durch dein SQL ersetzen";
echo $sql;
$row2 = mysql_fetch_array($sql);

Dann wird dir am Bildschirm "SELECT ich bin ein, beispiel und du musst mich durch dein SQL ersetzen" ausgegeben.

Kopiere diese Ausgabe.
Du öffnest dein phpMyAdmin.
Öffne darin deine Datenbank.
Klicke auf SQL.
Füge dein SQL ein.
Klicke auf "OK" oder wie der Button auch immer heissen mag.

Analysiere warum das SQL nicht funktioniert.
Vergleiche die Feldnamen
Vergleiche die Tabellennamen

Ändere dein SQL in phpMyAdmin solange bis es funktioniert.

Jetzt kannst du dein funktionierendes SQL ins PHP zurückimplementieren.
 
das hab ich schon gemacht...hier nochmal zum beweis:

79e6eb.jpg
 
Zurück