Seite 1 von 1

[3.2] Speichern neuer Beitrag / Antwort

Verfasst: 28.02.2019 15:52
von thoralf.anders
Beim Speichern eines neuen Themas bzw. einer Antwort zu einem Thema erscheint folgende Fehlermeldung:
Allgemeiner Fehler
SQL ERROR [ mysql4 ]

Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'phpBB_.w.user_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by [1055]

SQL

SELECT w.user_id, tiu.userkey FROM phpbb_forums_watch w JOIN phpbb_topicit_users tiu ON tiu.userid = w.user_id JOIN phpbb_users u ON w.user_id = u.user_id WHERE w.forum_id=9 GROUP BY tiu.userkey

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 997
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysql.php
LINE: 191
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\mysql->sql_query()

FILE: [ROOT]/topicit/plugins/phpbb32/controllers/PushController.php
LINE: 21
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/ext/topicit/topicit/event/main_listener.php
LINE: 280
CALL: PushController::newTopic()

FILE: (not given by php)
LINE: (not given by php)
CALL: topicit\topicit\event\main_listener->submitPostEnd()

FILE: [ROOT]/vendor/symfony/event-dispatcher/EventDispatcher.php
LINE: 184
CALL: call_user_func()

FILE: [ROOT]/vendor/symfony/event-dispatcher/EventDispatcher.php
LINE: 46
CALL: Symfony\Component\EventDispatcher\EventDispatcher->doDispatch()

FILE: [ROOT]/phpbb/event/dispatcher.php
LINE: 62
CALL: Symfony\Component\EventDispatcher\EventDispatcher->dispatch()

FILE: [ROOT]/phpbb/event/dispatcher.php
LINE: 46
CALL: phpbb\event\dispatcher->dispatch()

FILE: [ROOT]/includes/functions_posting.php
LINE: 2472
CALL: phpbb\event\dispatcher->trigger_event()

FILE: [ROOT]/posting.php
LINE: 1457
CALL: submit_post()
Der Beitrag ist aber dennoch gespeichert! Was kann die Ursache sein? Wird die Funktion "Freigabe durch einen Administrator" genutzt, tritt das Problem nicht auf. Nur wenn der registrierte Benutzer den Beitrag sofort veröffentlichen darf.

Re: [3.2] Speichern neuer Beitrag / Antwort

Verfasst: 28.02.2019 16:55
von Dr.Death
Deaktiviere mal die Extension:

/ext/topicit/

Die verursacht die Fehlermeldungen im SQL Statement:

Code: Alles auswählen

SELECT w.user_id, tiu.userkey 
FROM phpbb_forums_watch w 
JOIN phpbb_topicit_users tiu ON tiu.userid = w.user_id 
JOIN phpbb_users u ON w.user_id = u.user_id 
WHERE w.forum_id=9 
GROUP BY tiu.userkey
Derjenige, der diese Abfrage generiert, sollte sich hier weiterbilden:
https://dev.mysql.com/doc/refman/8.0/en ... dling.html

Die Fehlermeldung besagt, das die erste Select Auswahl ( Expression 1# ) also w.user_id nicht in der GROUP BY Bedingung vorkommt.

In den aktuelleren MySQL Datenbank Versionen ist die Globale Einstellung ONLY_FULL_GROUP_BY aktiv.

Vielleicht könnte diese Abfrage so funktionieren:

Code: Alles auswählen

SELECT w.user_id, tiu.userkey 
FROM phpbb_forums_watch w 
JOIN phpbb_topicit_users tiu ON tiu.userid = w.user_id 
JOIN phpbb_users u ON w.user_id = u.user_id 
WHERE w.forum_id=9 
GROUP BY tiu.userkey, w.user_id

Weiterer Lesestoff für den Extension Autor:
https://stackoverflow.com/questions/341 ... y-in-mysql

Diese Extension kommt anscheinend nicht mit aktuellen MySQL Datenbanken klar..... wende Dich für weiteren Support bitte an den Extension Autor.

Re: [3.2] Speichern neuer Beitrag / Antwort

Verfasst: 28.02.2019 22:07
von thoralf.anders
OK, vielen Dank für die Info. Es scheint also wirklich an der Topic'it-Extension zu liegen. Nach dem Deaktivieren war die Fehlermeldung weg. Super recherchiert! Mal schauen, wie ich das gebacken bekomme ... ;-)