WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 04.12.2022 12:34:15

Slugger
Member

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

Offline

#2 05.12.2022 15:30:40

Slugger
Member

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

Offline

#3 05.12.2022 17: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 18: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 20: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 11:11:54

Slugger
Member

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

florian wrote:

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

Offline

#7 06.12.2022 12: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 12:21:22

Slugger
Member

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

Offline

#9 06.12.2022 12: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 12:44:28

Slugger
Member

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

florian wrote:

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

Last edited by Slugger (06.12.2022 12: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

Offline

#11 06.12.2022 17: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...

Last edited by webbird (06.12.2022 17: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 17:43:14

webbird
Administrator

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

florian wrote:

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.

Last edited by webbird (06.12.2022 17: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 17:47:18

Slugger
Member

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.

Last edited by Slugger (06.12.2022 17: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

Offline

#14 06.12.2022 18: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 19: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 12:19:16

Slugger
Member

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

florian wrote:

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

Offline

Board footer

up