Es ind keine Abfragen mit useredittimestamp möglich.
Oder?
Es ind keine Abfragen mit useredittimestamp möglich.
Oder?
Systemvariablen immer in `` damit diese nicht als Befehl missverstanden werden.
`useredittimestamp`
Danke, das funktioniert. Aber wieso sollte denn “useredittimestamp” eine Systemvariable sein? Sieht man das irgendwo? Den Code von der Version 20 habe ich ja da. Kann man da wo nachschauen?
Ist dann “letzteausfuerhung” vom Prozessstarter auch ne Systemvariable?
Edit: scheinbar nicht
da gibt es leider keine vollständige Doku, nur ein Hinweis in die Richtung:
https://help.xentral.com/hc/de/articles/360018546919-Berichte#:~:text=ID%20des%20Belegs-,Anmerkung,notwendig%2C%20damit%20der%20SQL%20Bericht%20das%20Wort%20nicht%20als%20Befehl%20missversteht.,-Spalten
Stimmt. Krasse Sache, ich danke dir!
Nur als Anmerkung: Das Problem sind nicht Systemvariablen.
Das Report Modul von Xentral verbietet das Vorkommen folgender SQL Keywords im SQL Statement.
INTO, INSERT, UPDATE, DELETE, ALTER, SHOW, USE, TRUNCATE, LOAD, CREATE, DROP, RENAME
Damit soll sichergestellt werden, dass nur SELECT Abfragen erlaubt sind, und die DB nicht von Berichten geändert werden kann.
Bestehen Spaltennamen zufällig aus einen dieser Keywords, wie eben USEredittimestamp das verbotene Keyword USE, so ist die Query nicht erlaubt und es erscheint die Fehlermeldung
Reports can only use SELECT statements!.
Abhilfe schafft hier eben wie beschrieben das Escapen der betroffenen Namen mit `` .
Quelle: Kann man in der ReportService.php genau so sehen.
In deinem ersten SQL war nur das Komma hinter name zuviel.
Vor "FROM" darf kein Komma stehen, sonst wird noch etwas erwartet, das dann nicht dran steht und das SELECT...FROM wird nicht erkannt.
Sie haben bereits einen Account? Anmelden
Sie haben noch keinen Account? Benutzerkonto erstellen
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.