Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
[G] Unbekannte Spalte 'averagerating' in Tabelle mybb_threads
#1
In meiner MyBB-Logdatei finde ich regelmäßig Einträge wie den folgenden:

<error>
<dateline>1219123972</dateline>
<script></script>
<line>0</line>
<type>20</type>
<friendly_type>MyBB SQL Error</friendly_type>
<message>SQL Error: 1054 - Unknown column 'averagerating' in 'order clause'
Query:
SELECT t.*, t.username AS threadusername, u.username
FROM mybb_threads t
LEFT JOIN mybb_users u ON (u.uid = t.uid)
WHERE t.fid='11' AND t.visible='1'
ORDER BY t.sticky DESC, averagerating desc , t.totalratings DESC
LIMIT 0, 20
</message>
</error>

Weiß jemand, wie dieser Fehler zustande kommt (lt. Google scheine ich nicht der einzige Betroffene zu sein), und wie man ihn abstellt? Wie kommt es überhaupt, dass hier gleich zwei Spalten (neben averagerating auch totalratings) aufgeführt sind, die es in der Tabelle mybb_threads überhaupt nicht gibt?
#2
In MyBB 1.4 gibt es nur numratings und totalratings. Entweder sind veraltete Plugins oder Code-Änderungen eingebaut.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#3
In forumdisplay.php finde ich u.a. folgenden Code:

switch($mybb->input['sortby'])
{
case "subject":
$sortfield = "subject";
break;
case "replies":
$sortfield = "replies";
break;
case "views":
$sortfield = "views";
break;
case "starter":
$sortfield = "username";
break;
case "rating":
$t = "";
$sortfield = "averagerating"; <----------------------
$sortfield2 = ", t.totalratings DESC";
break;
case "started":
$sortfield = "dateline";
break;
default:
$sortby = "lastpost";
$sortfield = "lastpost";
$mybb->input['sortby'] = "lastpost";
break;
}

Er stammt aus dem Originalpaket. Also kann es m. E. nicht ein Plugin oder eine Codeänderung sein.
#4
Welchen DB-Treiber verwendest du? MySQL, MySQLi, PGSQL oder SQLite?

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#5
Ich verwende MyBB mit MySQL 5, also mit dem MySQLi-Treiber.
#6
Ersetze die Datei forumdisplay.php bitte mal durch die angefügte und beobachte dann, ob der Fehler weiterhin auftritt.


Angehängte Dateien
.php   forumdisplay.php (Größe: 29,47 KB / Downloads: 2)

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#7
Danke für deine Mühe. Aber jetzt geht gar nichts mehr:

<error>
<dateline>1219297785</dateline>
<script></script>
<line>0</line>
<type>20</type>
<friendly_type>MyBB SQL Error</friendly_type>
<message>SQL Error: 1064 - 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 'desc
LIMIT 0, 20' at line 5
Query:
SELECT t.*, t.username AS threadusername, u.username
FROM mybb_threads t
LEFT JOIN mybb_users u ON (u.uid = t.uid)
WHERE t.fid='24' AND (t.visible='1' OR t.visible='0')
ORDER BY t.sticky DESC, t. desc
LIMIT 0, 20
</message>
</error>
#8
Kannst du bitte nochmal die angefügte Datei testen?


Angehängte Dateien
.php   forumdisplay.php (Größe: 29,47 KB / Downloads: 3)

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#9
Ich habe die Datei jetzt installiert. Da der Fehler nur sporadisch aufgetaucht ist (gestern zum Beispiel gar nicht, vorgestern dafür insgesamt fünf oder sechs Mal), warte ich jetzt mal ein/zwei Tage und gebe dir dann Bescheid.
#10
Ich bekomme die Fehler leider immer noch!

<error>
<dateline>1219622893</dateline>
<script></script>
<line>0</line>
<type>20</type>
<friendly_type>MyBB SQL Error</friendly_type>
<message>SQL Error: 1054 - Unknown column 'averagerating' in 'order clause'
Query:
SELECT t.*, t.username AS threadusername, u.username
FROM mybb_threads t
LEFT JOIN mybb_users u ON (u.uid = t.uid)
WHERE t.fid='18' AND t.visible='1'
ORDER BY t.sticky DESC, averagerating asc , t.totalratings DESC
LIMIT 20, 20
</message>
</error>