Statistik |
Beiträge: 144.530 (Täglich: 19,19 )
Themen: 16.700
Mitglieder: 13.209
Neuestes Mitglied: zitronentee.
Ausl. d. letzten Minute: 125%
Ausl. d. letzten 5 Minuten: 183%
Ausl. d. letzten 15 Minuten: 238%
Aktulle Uhrzeit: 15:02
Freier Webspace: 4.04 TB
PHP-Version: 7.4.33
|
|
|
|
|
Fehler bei aufruf der profile.php |
|
Fehler bei aufruf der profile.php |
|
Hi,
Ich bekomme folgenden Fehler wenn ich ihn ein Profil eines Users gehe.
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
|
SQL-DATABASE ERROR
Database error in WoltLab Burning Board (2.3.6): Invalid SQL: SELECT s.request_uri,s.userid,u.username, u.invisible FROM bb1_sessions s LEFT JOIN bb1_users u USING (userid) WHERE s.userid = AND u.lastactivity >= 1586322624
mysql error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND u.lastactivity >= 1586322624' at line 5
mysql error number: 1064
mysql version: 5.7.28-nmm1-log
php version: 7.4.2
Date: 08.04.2020 @ 09:10
Script: /profile.php?userid=4 |
|
Ich habe herausgefunden es liegt an dem code abschnitt aus der profile.php
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
|
$sql = "SELECT s.request_uri,s.userid,u.username, u.invisible
FROM bb".$n."_sessions s
LEFT JOIN bb".$n."_users u USING (userid)
WHERE s.userid = " . $user_profil['userid'] . "
AND u.lastactivity >= " . (time() - $useronlinetimeout * 60);
$wiw_profil = $db->query_first($sql);
if ($wiw_profil['userid']) {
$wiw_uri = explode('?',$wiw_profil['request_uri']);
switch($wiw_uri[0]) {
DEFAULT:
$wiw_profile_output = spielhoelle_wiw_profile();
break;
}
}else{
$wiw_profile_output="<b>z.Zeit nicht Online</b>";
} |
|
Wenn ich diese zeile zum test rausnehme dann ist der fehler weg.
code: |
1:
|
$wiw_profil = $db->query_first($sql); |
|
Danke im voraus.
|
|
08.04.2020 09:13 |
|
|
|
Nur eine Vermutung:
mache mal in dieser Zeile ein Gänsefüßchen hinter die geschlossene Klammer
php: |
1:
|
AND u.lastactivity >= " . (time() - $useronlinetimeout * 60)"; |
|
__________________ Cu,
Slugger
|
Zitat: Egal wie du es machst, du machst es falsch! Also mache es einfach. |
|
|
|
|
08.04.2020 12:43 |
|
|
|
Danke Slugger aber das hat leider nicht geholfen.
|
|
08.04.2020 13:02 |
|
|
|
|
Zitat: Original von golf3look
Danke Slugger aber das hat leider nicht geholfen. |
|
|
Ich streiche meine Glaskugel mal mit schwarz ...
__________________ Cu,
Slugger
|
Zitat: Egal wie du es machst, du machst es falsch! Also mache es einfach. |
|
|
|
|
08.04.2020 18:01 |
|
|
|
Nach der Änderung ging gar nichts mehr.
Es kam keine Fehlermeldung.
Weisse Seite.
|
|
08.04.2020 18:27 |
|
|
bam
Routinier
Dabei seit: 25.03.2018
Beiträge: 479
0 Filebase-Einträge
wBB-Version: wBBLite
Bewertung:
Level: 37 [?]
Erfahrungspunkte: 1.051.399
Nächster Level: 1.209.937
|
|
Und was sagt uns dieser String?
|
Zitat: AND u.lastactivity >= " . (time() - $useronlinetimeout * 60) . ""; |
|
|
Jener ist könnte korrekt sein.
Da fehlen sonst 2 Anführungszeichen, weil der query danach auch geschlossen wird.
Man achte auf die Anführungszeichen und Punkte.
bam
__________________ Bedenke:
Ein leichter Klapps auf den Hinterkopf steigert das Denkvermögen.
Geschüttelt, nicht gerührt!
|
|
08.04.2020 20:11 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.749.394
Nächster Level: 266.777.854
|
|
|
Zitat: Original von bam
Und was sagt uns dieser String?
|
Zitat: AND u.lastactivity >= " . (time() - $useronlinetimeout * 60) . ""; |
|
|
Jener ist könnte korrekt sein.
Da fehlen sonst 2 Anführungszeichen, weil der query danach auch geschlossen wird.
Man achte auf die Anführungszeichen und Punkte.
bam |
|
|
Hallo,
|
Zitat:
USING (userid) WHERE s.userid = AND u.lastactivity
|
|
|
da fehlt hinter "s.userid =" die Userid.
Dein Code müsste geändert werden.
code: |
1:
2:
3:
4:
5:
6:
7:
8:
|
$sql = "SELECT s.request_uri,s.userid,u.username, u.invisible
FROM bb".$n."_sessions s
LEFT JOIN bb".$n."_users u USING (userid)
WHERE s.userid = " . $user_profil['userid'] . "
AND u.lastactivity >= " . (time() - $useronlinetimeout * 60);
$wiw_profil = $db->query_first($sql);
|
|
In:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
|
#$sql = "SELECT s.request_uri,s.userid,u.username, u.invisible
FROM bb".$n."_sessions s
LEFT JOIN bb".$n."_users u USING (userid)
WHERE s.userid = " . $user_info['userid'] . "
AND u.lastactivity >= " . (time() - $useronlinetimeout * 60);
$wiw_profil = $db->query_first($sql);
|
|
In der Datei Profile.php heißt es nicht "$user_profil['userid']" sondern "$user_info['userid']".
Bitte mal testen.
Gruß
Viktor
__________________
Ein kluger Mann widerspricht keiner Frau. Er wartet, bis sie es selbst tut.
... beim Käfer (WBB2) konnte man noch selber schrauben,
beim neuen Golf (WBB3) muß man fast schon in die Werkstatt wenn man das "Wischwasser" nachfüllen muss!
Da fast keiner mehr hier Postet gibt es ab sofort keinen Support mehr per PN.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Viktor: 08.04.2020 20:30.
|
|
08.04.2020 20:29 |
|
|
|
Super vielen dank Viktor.
Jetzt ist der fehler weg.
|
|
08.04.2020 21:03 |
|
|
|
|
|
|