2009-07-10 7 views
1

J'ai une table:mySQL recherche dans plusieurs lignes

| USERNAME | FORNAME | SURNAME | TELNUMBER | ZIPCODE .... 

et je veux rechercher prenom nom d'utilisateur et le nom dans une requête/déclaration .. et je ne veux pas plusieurs lignes .. comme .. permet de dire ..

Nom d'utilisateur: maria33 forName: maria

ce qui devrait être 1 rang .. quand je recherche mar%

et non 2!

Répondre

4

Comme une déclaration préparée:

SELECT * 
FROM users 
WHERE username LIKE ? 
    OR forname LIKE ? 
    OR surname LIKE ? 

Ensuite, si vous remplissez les trois paramètres avec la même chaîne, "%mar%":

preparedStatement.setString(1, "mar%"); 
preparedStatement.setString(2, "mar%"); 
preparedStatement.setString(3, "mar%"); 

Vous finiriez avec cette instruction SQL:

SELECT * 
FROM users 
WHERE username LIKE "mar%" 
    OR forname LIKE "mar%" 
    OR surname LIKE "mar%" 
+0

Merci .. et comme une déclaration préparée? – darkrain

Questions connexes