Utilisation du caractère générique "J'aime" dans une instruction préparée
Lors de la mise en œuvre d'une fonctionnalité de recherche basée sur un mot-clé à l'aide d'instructions préparées en SQL, il est nécessaire d'utiliser le mot clé LIKE. Cependant, comprendre comment l'incorporer dans l'instruction préparée peut prêter à confusion.
Pour spécifier le texte du mot-clé dans l'instruction préparée, il est crucial de le définir dans la valeur elle-même, et non dans la chaîne SQL de l'instruction préparée. . En tant que tel, la manière appropriée d'implémenter une recherche LIKE avec correspondance de préfixe serait la suivante :
notes = notes .replace("!", "!!") .replace("%", "!%") .replace("_", "!_") .replace("[", "!["); PreparedStatement pstmt = con.prepareStatement( "SELECT * FROM analysis WHERE notes LIKE ? ESCAPE '!'"); pstmt.setString(1, notes + "%");
Alternativement, des variantes de correspondance de suffixe et de correspondance globale peuvent être implémentées en utilisant des techniques similaires :
// Suffix match pstmt.setString(1, "%" + notes); // Global match pstmt.setString(1, "%" + notes + "%");
En utilisant ces techniques, on peut utiliser efficacement le mot-clé LIKE dans les instructions préparées pour effectuer des recherches basées sur des mots-clés dans les requêtes MySQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!