Avatar

Datumsangabe 0000-00-00 führt zu DB-Fehler, eine Bitte (General)

by Auge ⌂, (128 days ago) @ fritzweisshart

Hallo

neues Problem:
Wenn ich die Kategorie rechts von einem Eintrag anklicke, also z.B. (Allgemein)

BITTE zuerst LESEN! Forum-Richtlinien - Fritz, 29.05.2019, 15:03 [*] [!] [○] [x] (Allgemein)

dann erhalte ich folgende Fehlermeldungen:

Fatal error: Uncaught mysqli_sql_exception: 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 spam_list.id IS NULL AND (sticky = 2 OR category = '4')' at line 1 in .../forum/includes/index.inc.php:76 Stack trace: #0 .../forum/includes/index.inc.php(76): mysqli_query(Object(mysqli), ' AND spam_list....') #1 .../forum/index.php(138): include('...') #2 {main} thrown in .../forum/includes/index.inc.php on line 76

ich habe mal deine Fehlermeldung anonymisiert, soweit ich es konnte, und habe den betreffenden Query aus dem PHP-Code und den Angaben in der Fehlermeldung rekonstruiert, soweit mir das mit der Website von Github möglich war.

SELECT COUNT(*) FROM " . $db_settings['forum_table'] . " AS ft
  LEFT JOIN (
    SELECT eid
    FROM " . $db_settings['akismet_rating_table'] . "
      WHERE " . $db_settings['akismet_rating_table'] . ".spam = 1
    UNION SELECT eid
    FROM " . $db_settings['b8_rating_table'] . "
      WHERE " . $db_settings['b8_rating_table'] . ".spam = 1
  ) AS spam_list ON spam_list.eid = ft.id 
WHERE pid = 0
  AND spam_list.id IS NULL
  AND (sticky = 2 OR category = '4') 

@Micha: Selektiert wird eine anonyme Spalte (COUNT(*)), wobei die Postingtabelle mit einem UNION-SELECT über die Spam-Tabellen gejoint wird. Im UNION-SELECT wird aus den Spam-Tabellen die Spalte eid ausgewählt. In den folgenden WHERE-Klauseln der äußeren Abfrage wird aber darauf geprüft, ob die Spalte id (ohne "e", "eid" versus "id"!) NULL ist. Das haut doch nicht hin, oder?

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!


Complete thread:

 RSS Feed of thread

[x]
[*]