Als u uw database/stuurprogramma-combinatie wijzigt van uw huidige implementatie naar iets dat meerdere verzoeken ondersteunt, activeert u natuurlijk een slapend beveiligingslek dat mensen (ongetwijfeld) zijn vergeten!
Als u de snode, kwaadaardige scenario's negeert, zal het bovenstaande u problemen geven met het invoegen van reguliere gegevens, inclusief aanhalingstekens enz. d.w.z. het bovenstaande werkt gewoon niet voor bepaalde gegevenssets (tenzij deze zijn opgeschoond/verdwenen enz.). Ik zou het gewoon corrigeren voor functionele doeleinden.
Kijk eens naar PreparedStatement , en de methoden voor het invoegen van gegevens hiervoor (setString() ) enz.
bijv.:
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setString(2, "Insert what you like here")
De methode setString() ondersteunt elke tekenreeks zonder escape-/injectieproblemen.