oneside Geschrieben 4. September 2006 Teilen Geschrieben 4. September 2006 Hallo, ich habe ein Eingabefeld in einer Webseite, über das man nach einem Usernamen suchen kann. Die Select-Anweisung wird dann mit LIKE %durchgeführt, um alle Namen zu erhalten, die mit dem angegebenen String anfangen: Gebe ich z.B. "t" in das Eingabefeld, wird folgende Abfrage durchgeführt: SELECT id,name FROM user WHERE username LIKE 't%' ORDER BY username ASC LIMIT 0,15 Als Ergebniss bekomme ich alle User, deren username mit "t" beginnt, was auch richtig ist. Gebe ich aber jetzt "to" in das Feld ein, wird mir kein User ausgegeben, auch der User Tom nicht, obwohl der ja auch mit "to" beginnt. Woran kann das denn liegen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 4. September 2006 Teilen Geschrieben 4. September 2006 Vielleicht weil der User Tom heißt und nicht tom ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oneside Geschrieben 4. September 2006 Autor Teilen Geschrieben 4. September 2006 Das macht keinen Unterschied... Ich habe rausgefunden, dass auch ein Feld group_id = NULL abgefragt wird. Diese Abfrage verursacht irgendwie den Fehler. Das Feld group_id ist in der Datenbank auf NULL gesetzt, wenn keine ID vorhanden ist, wie frage ich das aber jetzt auf NULL ab? WHERE group_id = NULL geht nicht WHERE group_id = "NULL" geht auch nicht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
isardor Geschrieben 4. September 2006 Teilen Geschrieben 4. September 2006 hmm ich schätze jetzt mal, dass bei % immer mehrere Zeichen erwartet werden aber erklären kann ich mir das auch nicht. Setz für das feld den Defaultwert 0 fest, dann steht etwas drin, und ich denke eine "Gruppe 0" wird es ja wohn nicht geben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oneside Geschrieben 4. September 2006 Autor Teilen Geschrieben 4. September 2006 Ne, % steht für 0-X Zeichen. Der Fehler ist bei der Abfrage nach dem Wert MySQL-Feldwert NULL Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 4. September 2006 Teilen Geschrieben 4. September 2006 WHERE group_id = NULL geht nicht WHERE group_id IS NULL Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 4. September 2006 Teilen Geschrieben 4. September 2006 Das Feld group_id ist in der Datenbank auf NULL gesetzt, wenn keine ID vorhanden ist, wie frage ich das aber jetzt auf NULL ab? WHERE group_id IS NULL Zum anderen Problem: Kann es sein, dass im Datensatz zu Tom Whitespaces im Namen enthalten sind? Z.B. ein Newline-Character, der Dir im Browser nicht angzeigt wird, jedoch bei der Suche nach 'to%' berücksichtigt wird? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oneside Geschrieben 4. September 2006 Autor Teilen Geschrieben 4. September 2006 hmm ich schätze jetzt mal, dass bei % immer mehrere Zeichen erwartet werden aber erklären kann ich mir das auch nicht. Setz für das feld den Defaultwert 0 fest, dann steht etwas drin, und ich denke eine "Gruppe 0" wird es ja wohn nicht geben. Ne, Für solche Fälle gibt es ja gerade den Wert NULL. Wenn da 0 drinnen steht, wäre das eine Verknüpfung zum Satz 0... Danke für Eure Hilfe, IS NULL hat funktioniert Jetzt gehts richtig :-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.