WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 04.12.2022 11:34:15

Slugger
Mitglied

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

Eine weitere Instanz habe ich nun auch auf WBCE 1.5.4 inkl. Modulen und PHP 8.1 durchgeführt.

Diesmal habe ich im Errorlog folgende Meldungen erhalten.

[== PHP ==]
2022-12-04T10:24:53+00:00 [Visitor Request] ./pages/de/start/lagebeschreibung.php
2022-12-04T10:24:53+00:00 [Exception] There was an unknown 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 'Alle"" AND `active` = 1' at line 1 in line (302) of /framework/class.database.php
2022-12-04T10:25:37+00:00 [Visitor Request] ./pages/de/meldesystem.php
2022-12-04T10:25:37+00:00 [Exception] There was an unknown 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 'Alle"" AND `active` = 1' at line 1 in line (302) of /framework/class.database.php
2022-12-04T10:25:59+00:00 [Visitor Request] ./pages/de/abfallentsorgung.php
2022-12-04T10:25:59+00:00 [Exception] There was an unknown 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 'Alle"" AND `active` = 1' at line 1 in line (302) of /framework/class.database.php
2022-12-04T10:26:35+00:00 [Visitor Request]./pages/de/instandhaltung.php
2022-12-04T10:26:35+00:00 [Exception] There was an unknown 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 'Alle"" AND `active` = 1' at line 1 in line (302) of /framework/class.database.php

In den Abschnitten ist das Modul Dynamic Table installiert.


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4:  OK

Online

#2 05.12.2022 14:30:40

Slugger
Mitglied

SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

Folgende Meldung bei einer Instanz mit WBCE 1.5.4 und PHP 8.1.

[== PHP ==]
2022-12-04T10:24:53+00:00 [Visitor Request] ./pages/de/start/lagebeschreibung.php
2022-12-04T10:24:53+00:00 [Exception] There was an unknown 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 'Alle"" AND `active` = 1' at line 1 in line (302) of /framework/class.database.php
2022-12-04T10:25:37+00:00 [Visitor Request] ./pages/de/meldesystem.php
2022-12-04T10:25:37+00:00 [Exception] There was an unknown 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 'Alle"" AND `active` = 1' at line 1 in line (302) of /framework/class.database.php
2022-12-04T10:25:59+00:00 [Visitor Request] ./pages/de/abfallentsorgung.php
2022-12-04T10:25:59+00:00 [Exception] There was an unknown 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 'Alle"" AND `active` = 1' at line 1 in line (302) of /framework/class.database.php
2022-12-04T10:26:35+00:00 [Visitor Request]./pages/de/instandhaltung.php
2022-12-04T10:26:35+00:00 [Exception] There was an unknown 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 'Alle"" AND `active` = 1' at line 1 in line (302) of /framework/class.database.php

In den Abschnitten ist das Modul Dynamic Table installiert.


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4:  OK

Online

#3 05.12.2022 16:49:16

webbird
Administrator

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

Die doppelten Anführungszeichen 'Alle"" sind sicherlich das Problem, hat aber "eigentlich" nichts mit der PHP-Version zu tun. Könnte aber sein, dass die älteren Versionen das unterdrückt haben. Leider kann man nicht erkennen, wo die Quelle des Fehlers liegt, da class.database.php ja nur der "Abnehmer" des SQL-Statements ist. Die meisten Module dürften das Problem haben, dass SQL-Statements nicht korrekt gequotet werden. Ist denn erkennbar, woher das "Alle" kommt? Wenn ja, gibt es an der Stelle Quotes?


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#4 05.12.2022 17:06:40

webbird
Administrator

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

Ich glaube nicht, dass das fehlerhafte SQL-Statement von dem Modul Dynamic Table kommt. Das Modul hat nur eine einzige Tabelle und in dieser gibt es keine Spalte "active" wie im fehlerhaften Statement.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#5 05.12.2022 19:26:15

florian
Administrator

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

Ist da eventuell ein SectionPicker-Aufruf (Modul oder "altes" Droplet)?


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#6 06.12.2022 10:11:54

Slugger
Mitglied

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

florian schrieb:

Ist da eventuell ein SectionPicker-Aufruf (Modul oder "altes" Droplet)?

Seite Meldesystem:
- Hier ist in den Abschnitten WYSIWYG mit mpform und Dyn. Table.

Wobei im WYSIWYG nur ein Droplet mit:

[[getfielddata?table=2&field=submitted_when,14,7,16&maxnumber=1&maxdays=30&type=table]]

aufgerufen wird.

Bei den anderen Seiten kommt nur WYSIWYG, csv2Table und Dyn. Table zum Einsatz ohne Droplet und SectionPicker


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4:  OK

Online

#7 06.12.2022 11:00:38

florian
Administrator

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

Hm, also das muss schon mit irgend einem Droplet zu tun haben. Der einzig plausible Fall, wo in einer DB-Afrage dieses AND `active` = 1 vorkommt, ist in der /modules/droplets/droplets.php

e` FROM `'.TABLE_PREFIX.'mod_droplets` WHERE `name` LIKE "'.$droplet_name.'" AND `active` = 1';

Was jetzt aber nicht heißt, daran irgendwas zu ändern.
Man müsste jetzt wie von webbird schon geschrieben wissen, wo dieses Alle" herkommt, das scheint ja irgendwie das Problem zu sein.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#8 06.12.2022 11:21:22

Slugger
Mitglied

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

Also in Ordner von dynamic_table finde ich in der view.php in Zeile 91 folgendes:

[== PHP ==]
      lengthMenu: [[100, 50, 25, 10, -1], [100, 50, 25, 10, "Alle"]],

Hier ist die Bezeichnung "Alle" zu finden


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4:  OK

Online

#9 06.12.2022 11:27:35

florian
Administrator

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

Na, das ist doch schon mal ein Ansatz.
Versuch mal, ob es was bringt, das "Alle" in 'Alle' oder \"Alle\" zu ändern.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#10 06.12.2022 11:44:28

Slugger
Mitglied

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

florian schrieb:

Na, das ist doch schon mal ein Ansatz.
Versuch mal, ob es was bringt, das "Alle" in 'Alle' oder \"Alle\" zu ändern.

Man kann zwar 'Alle' oder \"Alle\" ändern, bringt aber nur teilweise Erfolg.

Die Tabellen werden wieder angezeigt, jedoch fehlen jetzt die entsprechenden Werkzeuge im FE

Beitrag geändert von Slugger (06.12.2022 11:44:42)


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4:  OK

Online

#11 06.12.2022 16:38:22

webbird
Administrator

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

Hm, bei meiner gerade aus dem Addons Repo geladenen view.php von DynTable (0.5.8) ist Zeile 91 eine Leerzeile. Der obige Code sieht nach Javascript aus, ich wüßte nicht, wie der in einem SQL-Statement landen sollte...

Beitrag geändert von webbird (06.12.2022 16:40:12)


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#12 06.12.2022 16:43:14

webbird
Administrator

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

florian schrieb:

Hm, also das muss schon mit irgend einem Droplet zu tun haben. Der einzig plausible Fall, wo in einer DB-Afrage dieses AND `active` = 1 vorkommt, ist in der /modules/droplets/droplets.php.

Im framework-Ordner gibt es noch zwei Stellen, beide im Zusammenhang mit Benutzern.

class.login.php
    193: $sSql = "SELECT * FROM `{TP}users` WHERE `username`='%s' AND `active` = 1";
class.wb.php
     97: $sDbPasswordHash = $database->get_one('SELECT `password` FROM `{TP}users` WHERE `user_id` = ' . $iUserID . ' AND `active` = 1');
    107: $database->query("UPDATE `{TP}users` SET `password` = '$sNewHash' WHERE `user_id` = " . $iUserID . ' AND `active` = 1');

In den Fällen fehlt allerdings das " vor dem AND.

Beitrag geändert von webbird (06.12.2022 16:48:16)


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#13 06.12.2022 16:47:18

Slugger
Mitglied

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

Danke für deinen Hinweis, werde ich prüfen.

Bin zur Zeit unterwegs.

Ich melde mich dann.

Beitrag geändert von Slugger (06.12.2022 16:47:35)


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4:  OK

Online

#14 06.12.2022 17:21:42

florian
Administrator

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#15 06.12.2022 18:31:46

bernd
Developer

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

So,
ich kann den Fehler reproduzieren.
Es liegt tatsächlich an dem "Alle" in lengthMenu.
Es ist mir aber absolut rätselhaft wie das in einer DB-Query landen kann.
Nach meinem Verständnis ist das doch eine reine Javascript Sache die dem DataTables-Script sagt wie viele Einträge pro Seite darzustellen sind, da werden doch keine Daten aus der Datenbank nachgeladen ?!?!?

Schnelle Abhilfe:
die lengthMenu Zeile so abändern:

lengthMenu: [100, 50, 25, 10, -1],

... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#16 07.12.2022 11:19:16

Slugger
Mitglied

Re: SQL-Fehler angepasstes DynaTable nach WBCE/PHP-Update

florian schrieb:

Jetzt erinnere ich mich, von da habe ich den Code-Abschnitt her und wie beschrieben eingetragen.

Ich habe das jetzt so angepasst wie im Abschnitt von bernd vorgeschlagen.


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4:  OK

Online

Fußzeile des Forums

up