Zum Inhalt springen

MySQL select Abfrage


robotto7831a

Empfohlene Beiträge

sorry, hatte dich glaube ich eh falsch verstanden. was willst du denn nun genau. also wenn du nach "test" suchst, was soll dann gefunden werden? nur das alleinstehende wort "test", oder auch z.b. "testbogen", "testverfahren", "test123"? oder alles genannte bis auf "test" gefolgt von irgendwelchen zahlen?

vielleicht hilft ja auch die instr funktion?

where instr(muster, 'test');

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

das hilft mir auch nicht so richtig weiter. Folgender Hintergrund. Ich programmiere gerade ein kleines Forum für unser Intranet und ich kann Loginnamen sperren. Z. B. den Loginnamen test. Wenn jetzt aber jemand bei der Registrierung test123 eingibt, dann wird meine bisherige SQL Abfrage keine Treffer liefern und den Loginnamen annehmen. Das möchte ich natürlich verhindern.

Jetzt möchte ich gernen eine SQL Abfrage haben, die alle möglichen Kombinationen aus test123 in der Datenbank überprüft und dann sagt das der Loginname gesperrt ist.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich erklär es nochmal.

Ich programmiere gerade ein Forum. Dort können sich leute anmelden. Jetzt habe ich eine Tabelle wo Benutzernamen drin stehen, die nicht verwendet werden dürfen. Dort steht z. B. test drin.

Wenn jetzt ein Benutzer z.B. test123 als Benutzername eingibt. Dann soll das Skript in der Tabelle überprüfen ob der Benutzername geperrt ist. Wenn ich jetzt WHERE name LIKE "test123" mache, dann erhalte ich 0 Ergebnisse, da nur der Benutzername test gesperrt ist. Ich möchte jetzt aber alle Benutzernamen die irgendwie das Wort test drin haben sperren.

Wie muss ich jetzt eine SQL Abfrage schreiben, die mir zu test123 sagt, das der gesperrt ist, weil test in der Tabelle steht.

Ich hoffe Ihr habt es jetzt verstanden.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Wolle

Bist du sicher? Nach dem ersten Beispiel in dem Link oben, sieht es so aus, als ob auch Teilworte gefunden werden (hab es aber selber noch nicht ausprobiert).

Ja, bin ich. Näheres ist unter anderem auch hier zu lesen: http://www.dclp-faq.de/q/q-mysql-volltextsuche.html

Das erste Beispiel hat nichts mit der Volltextsuche von Mysql zu tun. Man kann natürlich das erste Beispiel erweitern.

Als erstes werden alle verbotenen Wörter ausgelesen und dann wird das SQL Statement zusammengebaut. Da ein SQL Statement aber nicht unendlich lang sein darf, ist irgendwann eine maximale Anzahl an verbotenen Wörtern erreicht.

Beispiel: select name from site where name regexp 'foo' or name regexp 'bar';

Vielleicht geht es auch noch kürzer.

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von palvoelgyi

Wenn jetzt ein Benutzer z.B. test123 als Benutzername eingibt. Dann soll das Skript in der Tabelle überprüfen ob der Benutzername geperrt ist. Wenn ich jetzt WHERE name LIKE "test123" mache, dann erhalte ich 0 Ergebnisse, da nur der Benutzername test gesperrt ist. Ich möchte jetzt aber alle Benutzernamen die irgendwie das Wort test drin haben sperren.


SELECT Word FROM Badwordtable WHERE POSITION (Badwordtable.Word IN Loginwunsch) > 0;

Wenn dieser Query >= 1 Row zurückliefert enthält der Wunsch-Login ein böses Wort. Ausserdem gibt der Query alle bösen Worte aus, die du dem User an den Kopf werfen kannst.

Wo ist das Problem? :D

Getestet auf mysql 3.22.30

Ich hoffe ich hab die Aufgabenstellung korrekt verstanden =)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...