Auf Thema antworten

Wo soll ich anfangen... ? Prepared Statements benutzt man überall, wo Benutzereingaben im Spiel sind. Überall. Ich weiss, wenn man weiss, was man macht, geht es auch so, aber Fehler sind Menschlich, oder? Und du willst mir nicht erzählen, dass der obere Code leichter zu lesen + verstehen ist als der untere:


[CODE=JAVA]

Statement stmt = connection.createStatement();

ResultSet rs = stmt.executeQuery("SELECT a, b, c, d FROM table JOIN table ON table.fk = table2.id AND table2.foo = \"" + escapeSQLValue(table2Foo) + \"" WHERE table.bar = \""+ escapeSQLValue(someOtherTransform(12512) + someOtherInput)) + "\" AND table2.something BETWEEN 0 AND " + Integer.toString(table2Something));

[/CODE]


[CODE=JAVA]

PreparedStatement stmt = connection.prepareStatement("SELECT a, b, c, d FROM table JOIN table ON table.fk = table2.id AND table2.foo = ? WHERE table.bar = ? AND table2.something BETWEEN 0 AND ?");

stmt.setString(0, table2Foo);

stmt.setString(1, tableBar);

stmt.setInt(2, table2Something);

ResultSet rs = stmt.executeQuery();

[/CODE]



Oben