Verwendung des „like“-Platzhalters in vorbereiteten Anweisungen
Bei der Implementierung einer Suchfunktion basierend auf einem Schlüsselwort mithilfe vorbereiteter Anweisungen in SQL ist es notwendig, diese zu verwenden das Schlüsselwort LIKE. Es kann jedoch verwirrend sein, zu verstehen, wie es in die vorbereitete Anweisung integriert wird.
Um den Schlüsselworttext in der vorbereiteten Anweisung anzugeben, ist es wichtig, ihn innerhalb des Werts selbst und nicht in der SQL-Zeichenfolge der vorbereiteten Anweisung festzulegen . Daher wäre die richtige Vorgehensweise zum Implementieren einer Präfix-Match-LIKE-Suche wie folgt:
notes = notes .replace("!", "!!") .replace("%", "!%") .replace("_", "!_") .replace("[", "!["); PreparedStatement pstmt = con.prepareStatement( "SELECT * FROM analysis WHERE notes LIKE ? ESCAPE '!'"); pstmt.setString(1, notes + "%");
Alternativ können Suffix-Match- und Global-Match-Varianten mit ähnlichen Techniken implementiert werden:
// Suffix match pstmt.setString(1, "%" + notes); // Global match pstmt.setString(1, "%" + notes + "%");
Durch die Verwendung dieser Techniken kann man das Schlüsselwort LIKE in vorbereiteten Anweisungen effektiv nutzen, um schlüsselwortbasierte Suchen in MySQL-Abfragen durchzuführen.
Das obige ist der detaillierte Inhalt vonWie verwende ich den LIKE-Platzhalter in vorbereiteten Anweisungen für schlüsselwortbasierte Suchen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!