Frage zu SQL Abfrage

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
gnude
Beiträge: 1567
Registriert: 14.09.2009 22:05:28
Kontaktdaten:

Frage zu SQL Abfrage

Beitrag von gnude » 09.11.2021 12:45:04

Hallo,

ich habe ein Problem mit einem kleinen SQL Projekt. Ich möchte gerne HTML Code in eine Datenbank speichern bzw. den dort hinterlegten Text ändern. Allerdings bricht das System immer ab weil er über die ";" in den Text stolpert.
Ein Beispiel:

Code: Alles auswählen

UPDATE eintrag SET bezeichnung='Codeschnipsel1', inhalt='Hallo Welt   hier klemmt es', metabeschreibung='' WHERE id='1'
Wenn ich diese Query in PhpMyAdmin absetzte bricht er am Semikolon ab, vermutlich weil er das als Ende interpretiert. Die normalen HTML Enity's bringen mich auch nicht weiter da sie alle mit Semikolon enden.
Wie schaffe ich es das er das Semikolon in der Datenbank speichert/aktuallisiert?

mludwig
Beiträge: 797
Registriert: 30.01.2005 19:35:04

Re: Frage zu SQL Abfrage

Beitrag von mludwig » 09.11.2021 14:02:13

Im phpmyadmin gibt es bei sql-Abfragen das Feld "Begrenzer", wo das Semikolon voreingestellt ist ... dort einen anderes (nicht genutztes) Zeichen nehmen.

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Frage zu SQL Abfrage

Beitrag von Blackbox » 09.11.2021 17:06:18

2 Fragen: Warum phpmyadmin und sind das wirklich echte Semikolons?
Die sehen ganz schön komisch aus.
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Frage zu SQL Abfrage

Beitrag von reox » 10.11.2021 10:57:05

*eigentlich* sollte in einem String ein Semikolon nichts tun... Aber phpmyadmin scheint da speziell: https://stackoverflow.com/questions/469 ... phpmyadmin obwohl https://dev.mysql.com/doc/refman/8.0/en ... erals.html

Aber vllt musst du nur mal dein phpmyadmin upgraden: https://github.com/phpmyadmin/phpmyadmin/issues/8999 - angeblich ist das seit 2008 gefixed

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Frage zu SQL Abfrage

Beitrag von shoening » 10.11.2021 12:30:19

Hallo,

ich kenne jetzt phpmyadmin nicht, aber wenn Du schreibst, dass in einem Projekt etwas in eine Datenbank schreiben willst, und ich dann solchen SQL Code sehe, gehen bei mir die Alarmglocken an.

Falls Du das grundsätzlich manuell über phpmyadmin machst, kann bin ich raus.

Wenn Du da ein Script einsetzt, dann solltest Du das über Bind-Variablen machen, sonst baust Du etwas was SQL-Injection erlaubt. Oder kennst Bobby Tables nicht?

Der Nebeneffekt bei Bind Variablen ist, dass Du keine Zeichen mehr escapen musst.


Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Antworten