Hi!
Mit den Tabellen 2 und 3 klappt ALLES wunderbar! Ich bekomme mit jeder Kombination eine korrekte Ausgabe. Nur mit Tabelle 1 bekomme ich absolut nicht den Inhalt der 1. Spalte angezeigt!
Was ergab die Kontrollausgabe mit var_dump() statt echo?
Dasselbe Skript (siehe ein vorheriges Posting), alles genau dasselbe. Kann möglicherweise die Tabelle beim Löschen der 1. Spalte irgendwie "beschädigt" worden sein?
Sicher nicht.
Warum "like" statt "%"? Weil ich es noch nicht anders kenne. Solche Feinheiten kommen aber noch, sobald ich mich weiter in die Materie reingearbeitet habe.
Nicht "LIKE statt %", sondern LIKE ist ein Ähnlichkeitsoperator und % ein Jokerzeichen. Passwörter will man jedoch genau vergleichen, wozu man das = nimmt. Dein WHERE passwort LIKE '$passwort' wird bei einem eingegebenen % zu WHERE passwort LIKE '%' und evaluiert immer zu wahr. Einen exakten Vergleich bekommst du mit WHERE passwort = '$passwort'. Allerdings ist dabei zu beachten, dass das Feld eine BIN-Kollation bekommen muss, sonst wird nicht zwischen Groß- und Kleinschreibung unterschieden. Und natürlich muss der Kontextwechsel beachtet werden, sonst bist du anfällig gegen SQL-Injection. Das sind übrigens keine "Feinheiten" sondern essentiell wichtig, anderenfalls einer der häufigsten Programmierfehler.
Lo!