[SQL] Wildcards in tabel selecteren

Pagina: 1
Acties:

  • Blubber
  • Registratie: Mei 2000
  • Niet online
Ik ben bezig met het maken van een irc bot, met een MySQL backend. In de database staat een tabel met users. Om een user te verifieren wil ik zijn hostmask vergelijken met de gene die in de tabel staat. Een hostmask ziet er zo uit
[nickname]![username]@[hostname]
Als ik dan bijvoorbeeld in de database zet dat blubber altijd aan dit hostmask voldoet
Blubber!*@*.domain.com

Dan zou deze hostmask Blubber!blaat@vhost.domain.com geldig moeten zijn, maar hoe krijg je dat voor elkaar in een query? Ik heb al geprobeerd in de database alle * door % te vervangen, maar de wildcards kan je alleen in je query gebruiken, en niet in de data. Is er een makkelijk manier om dit probleem te omzijlen?

  • DinX
  • Registratie: Februari 2002
  • Laatst online: 27-08 14:23

DinX

Motormuis

Kan je de nick, username en hostname niet apart opslaan. En deze rijen nummeren ?
Dan kan je bijvoorbeeld ... where nick = "Blubber" and hostname = "hostname.com" doen

Marokko 2015: Route
Sat Tracker: SpotWalla
Blog: Gone for a ride


  • Blubber
  • Registratie: Mei 2000
  • Niet online
maar als de hostname dan bv op * staat, dan werk dat niet.

  • Servowire
  • Registratie: September 2000
  • Laatst online: 22-08 11:33

Servowire

prutser:~#

je bedoeld dat je uit een string, zoekt of er een bepaald stukje in de MySQL database voorkomt?

is hier niet de functie scan voor?
MySQL mensjes? :)

met papier mache kun je alles maken!!


  • Blubber
  • Registratie: Mei 2000
  • Niet online
mm, ik kan in de MySQL handleiding geen scan functie vinden...

  • Blubber
  • Registratie: Mei 2000
  • Niet online
Weet echt niemand of dit kan?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12:00

Janoz

Moderator Devschuur®

!litemod

Je kunt Regexp-en gebruiken. Die zijn hiervoor ideaal :)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

dit werkt ook prima:
where '$usermask' LIKE kolomnaam

als er in die kolom %'s enzo staan ipv * Je hebt wel kans dat de like teveel data eruit vist en in dat geval kan je beter een regexp nemen.

[ Voor 36% gewijzigd door ACM op 06-12-2002 11:47 ]

Pagina: 1