Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Symbole wieloznaczne w przygotowanych wyciągach w języku Java

Wstawiasz % w zmiennej powiązanej. Więc tak

   stmt.setString(1, "%" + likeSanitize(title) + "%");
   stmt.setString(2, "%" + likeSanitize(artist) + "%");

Powinieneś dodać ESCAPE '!' aby umożliwić Ci unikanie znaków specjalnych, które mają znaczenie, aby LUBIĆ w twoich wejściach.

Przed użyciem tytułu lub artysta powinieneś je zdezynfekować (jak pokazano powyżej), unikając znaków specjalnych (! , % , _ i [ ) metodą podobną do tej:

public static String likeSanitize(String input) {
    return input
       .replace("!", "!!")
       .replace("%", "!%")
       .replace("_", "!_")
       .replace("[", "![");
} 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zagnieżdżone komentarze w PHP i MySQL

  2. Zatrzymywanie zapytania MySQL po pierwszym wierszu

  3. Konfiguracja Solr DataImportHandler

  4. Musisz przekonwertować kolumny na wiersze w MYSQL

  5. Łączenie bazy danych MySQL z ścieżką klas Glassfish nie jest ustawione lub nazwa klasy jest nieprawidłowa