expression regulière dans une requete?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : expression regulière dans une requete?

par Invité » 27 avr. 2005, 11:59

J'ai lu cette doc mais j'y comprends rien (normal je debute) vous pouvez traduire a quoi sert REGEXP :?:

par flitox » 27 avr. 2005, 11:32

Raaaaaaah Cyrano m'a grillé avec sa REGEXP pour MySQL

Tant pis... Image

par heddicmi » 27 avr. 2005, 11:04

vi je sais, j'avais mis le lien sur la doc de nexen :wink:

par Cyrano » 27 avr. 2005, 11:02

Je vous signale pour information que MySQL supprorte les expressions régulière et que la fonction REGEXP peut accélérer le traitement quelque peu, voir la doc

par BFH » 27 avr. 2005, 10:34

DSL j'ai edité mon post le temps que tu repondait!

par heddicmi » 27 avr. 2005, 10:32

Non tu n'as pas une variable... Tu as une chaine de caractère dans une variable...
"SELECT * FROM report WHERE RHost=\"$N%\" ";

ça te retourneras
SELECT * FROM report WHERE RHost="Nevers%"...

D'ailleurs plutôt que WHERE ...=..., essaye WHERE ... LIKE ...

par BFH » 27 avr. 2005, 10:29

:( Désolé mais ça marche pas :(

Ton exemple fonctionne surement lorsque l'on a du texte devant le % sauf que là dans mon cas j'ai une variable.

Merci quand même!

En fait c'était pas tout a fait faux!
La bonne réponse est :
$N=$row["Lieu"];
$query2="SELECT * FROM report WHERE
RHost=\"$N\"+\"%\" ";

par heddicmi » 27 avr. 2005, 09:49

RHost=\"$N%\"

Donnera toute ce qui commence par $N...

Mais sinon, cf. la doc...

expression regulière dans une requete?

par BFH » 27 avr. 2005, 09:22

Bonjour,
j'ai une selection dans ma base de données avec la requete qui suit :
$N =$row["Lieu"];
$query2="SELECT * FROM report WHERE
RHost=\"$N\" ";
$result2=mysql_query($query2)or die (mysql_error());
$row2=mysql_fetch_assoc($result2)
Cependant $N retourne des valeures de ville telles que Nevers et RHost fait lui reference à des valeures de villes telles que Nevers1

Comment faire pour que la selection se fasse correctement?
Je sais que en php "^debut" renvoi à une chaine qui commence par début mais RHost=\"^$N\" ne fonctionne pas...

D'avance merci.