JDBC MySQL Connector - Element mit ' eintragen?

sh

Aktives Mitglied
Hallo,

ich habe einen Gamelog-Parser geschrieben welcher bestimmte Daten aus einer *.log-Datei in eine MySQL-DB einträgt. Nun habe ich ein Problem;

Wenn ein Spieler einen Nickname mit '-Zeichen benutzt bricht das eines der Queries die der Parser
benutzt:
Nickname/Alias: Something's too Strong
Code:
if(!exists("SELECT steamid FROM aliases WHERE alias = '" + a.getAlias() + "' AND steamid = '" + a.getSteamID() + "'")) {
Code:
Error: You have an error in your SQL syntax; check the manual that corresponds t
o your MySQL server version for the right syntax to use near 's Too Strong' AND
steamid = 'STEAM_x:x:xxxxxxx'' at line 1
Die Methode exists() ruft ein MySQL-Query auf und gibt true zurück wenn es results gibt, false ansonsten. Problem ist ganz klar, das Apostroph ' im Nickname bricht das Query - Wie escape ich das jetzt aber? So funktionierts auch nicht:
Code:
if(!exists("SELECT steamid FROM aliases WHERE alias = \"" + a.getAlias() + "\" AND steamid = \"" + a.getSteamID() + "\"")) {

Danke schonmal!
 
Edit: Genau falsch rum^^ Das
Code:
`
schützt davor, wenn man Namen für die Spalten und Tabellen verwendet, die zu den SQL-Keywords gehören -.- 3 Jahre kein SQL genutzt 😳

Wenn ich raten müsste, würde ich die Werte in
Code:
`
packen

Code:
SELECT * FROM `tabellenname` WHERE name = `Fu3L`
 
Zuletzt bearbeitet:
Habe ich ja, also ich hab beides probiert. Einmal mit ' und einmal mit ". Oder muss es ` sein? Die ersten 2 gingen beide nicht.

Danke für die späte Antwort 😉
EDIT: Antwort so spät abends noch ist damit gemeint!

MfG
 

Zurück
Oben