Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie übergebe ich Parameter sicher an ein JDBC PreparedStatement?

Patricia Arquette
Freigeben: 2024-11-25 00:31:10
Original
528 Leute haben es durchsucht

How to Safely Pass Parameters to a JDBC PreparedStatement?

Übergabe von Parametern an ein JDBC PreparedStatement

Das Erstellen einer Validierungsklasse für ein Java-Programm erfordert oft die Abfrage einer Datenbank. Der folgende Code versucht, eine bestimmte Zeile aus einer Tabelle auszuwählen, indem er ein PreparedStatement mit einem Parameter verwendet:

public class Validation {

    // ...

    public Validation(String userID) {
        try {
            // ...
            statement = con.prepareStatement(
                    "SELECT * from employee WHERE  userID = " + "''" + userID);
            // ...
        } catch (Exception ex) {
            // ...
        }
    }

    // ...
}
Nach dem Login kopieren

Dieser Code funktioniert jedoch möglicherweise nicht, weil die SQL-Anweisung nicht richtig formatiert ist.

Lösung:

Um einen Parameter korrekt an ein PreparedStatement zu übergeben, verwenden Sie setString() Methode:

statement = con.prepareStatement("SELECT * from employee WHERE  userID = ?");
statement.setString(1, userID);
Nach dem Login kopieren

Diese Methode setzt den Wert des ersten Parameters (?) auf die angegebene Benutzer-ID. Es stellt sicher, dass die Anweisung richtig formatiert ist und verhindert SQL-Injection, eine Sicherheitslücke, die auftritt, wenn bösartiger SQL-Code in eine Abfrage eingefügt wird.

Weitere Informationen zur Verwendung von PreparedStatements finden Sie in den Java-Tutorials.

Das obige ist der detaillierte Inhalt vonWie übergebe ich Parameter sicher an ein JDBC PreparedStatement?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage