Hallo,
natürlich wird es funktionieren ;)
Man kann sonst auch die gefundenen Zeilen überprüfen lassen:
http://www.php-einfach.de/einf_mysql_anzahl_zeilen.php
Was wichtig bei LIKE ist:
1. Zwischen Groß- und Kleinschreibung wird nicht Unterschieden
2. Mit %Wort% kann man auch Teilstücke finden. Mit %davo% wird z.B. auch Andavos gefunden.
Also wenn du _genau_ den Username überprüfen möchtest, dann benutzt man ein Gleichheitszeichen:
SELECT * FROM tabelle WHERE username = '$username';
Das Problem ist, die Usernames Andavos, andavos, AndavoS etc. könnte existieren, was natürlich jmd. Bösartig ausnutzen könnte..
Also doch lieber Like benutzt damit sowas nicht vorkommen kann.
Ein Gleichheitszeichen benutzt man meistens wenn man Zahlen (ID's) Überprüft, oder es wichtig ist, dass der exakte Wert angegeben wurde.
Login
Ein Login wird oft so realisiert:
SELECT * FORM tabelle WHERE username LIKE '$username' AND pw LIKE '$pw'
Was ist wenn jmd. z.B. als Username: % und als pw: % eingibt?
Dann wird mehr als 1 Zeile gefunden => User ist eingelogt.
Darum es lieber so realisieren:
SELECT * FORM tabelle WHERE username LIKE '$username' LIMIT 1;
if($username == $row->username AND $pw == $row->pw)
{
...
}
MFG
Andavos