Customizing SMF > SMF Coding Discussion
No posts in Forum -> Error viewing the recent posts (last 10)
(1/1)
Daniel D.:
This is a message from a german user. I think you can understand what he means, cause I'm too tired at the moment to translate (later).
--- Quote from: FreakaZ ---Der erste ...
#1
Art: fehlende Prüfung
Ort: Sources/Recent.php (Zeile 128 - 147)
Priorität: niedrig
Situation:
Wenn das Forum keinerlei Beiträge (Posts) besitzt, und man sich die letzten 10 Beiträge anschauen möchte erhält man folgenden Datenbankfehler:
--- Code: ---You have an error in your SQL syntax near ')
ORDER BY m.ID_MSG DESC
LIMIT 0, 10' at line 14
File: /worx/www/root/boards/smf/Sources/Recent.php
Line: 149
--- End code ---
Problembereich mit Zeilennummern:
--- Code: ---128 $messages = array();
129 while ($row = mysql_fetch_assoc($request))
130 $messages[] = $row['ID_MSG'];
131 mysql_free_result($request);
147 AND m.ID_MSG IN (" . implode(', ', $messages) . ")
--- End code ---
Beschreibung:
Das Array $messages wird nicht geprüft ob leer oder gefüllt. Bei Abfrage der Datenbank mit einem leeren Array erfolgt Fehlermeldung.
Loesung:
Prüfung einbauen, wie ...
zwischen Zeile 131 und 133
--- Code: --- $messages = implode(', ', $messages);
if ($messages == "") {
$messages = "0";
}
--- End code ---
Zeile 147 aendert sich dann in:
--- Code: ---147 AND m.ID_MSG IN (" . $messages . ")
--- End code ---
Anmerkung:
Die Warscheinlichkeit das ein Forum 0 Posts hat ist zwar ziemlich unwarscheinlich, aber kann ja vorkommen. :o
MfG
FreakaZ
P.S.: Ich bin kein PHP Profi und bastel mehr aus Spaß an der Sache, ich denk mal die Devs finden da eine elegantere Lösung. ;D
--- End quote ---
[Unknown]:
That's not the best fix, but I've done it what I would call "properly" in the distribution ;).
-[Unknown]
Daniel D.:
I'll report it.
Navigation
[0] Message Index
Go to full version