URL: https://www.overclockers.at/coding-stuff/mysql_suche_innerhalb_der_spalten_131866/page_1 - zur Vollversion wechseln!
ich habe eine tabelle in der u.a. namen stehen. nun will ich nach namen suchen, bzw. auch nur nach teilen des namens. also wenn der name z.b. maier ist, soll er auch gefunden werden, wenn nur aie eingegeben wird. ich habs mit like versucht, bekomme aber nur eine fehlermeldung
so hab ichs versucht: $query = "SELECT id, name, last_login, FROM chars WHERE name LIKE '$name'";
daw ist die fehlermeldung: Fehler in der Syntax bei 'FROM chars WHERE name LIKE aie' in Zeile 1.
tia
MIK
einerseits brauchst wohl ' um den such-string, andererseits wohl wildcards - iirc steht % für beliebig viele zeichen und _ für eins...
in deinem fall dann also $query = "SELECT id, name, last_login FROM chars WHERE name LIKE \'%".$name."\'%"; auf die umständliche
edit: stimmt, _ is sql für eins, ? is dann des von dao
und das mitm beistrich is auch kein schlechtes argument, true
also, gleich zwei fehler:
so muss es lauten:
$query = "SELECT id, name, last_login FROM chars WHERE name LIKE '%" . $name . "'%";
da findet er hallmaierich, wenn du statt % ein _ machst dann findet er nur maier...
%... entspricht einer beliebigen anzahl von zeichen, selbst 0 zeichen
_... entspricht genau einem zeichen...
edit: ownt, aber den fehler hat er nicht gefunden (er muss den beistrich nach last_login weggeben
)
und afaik ist '_' der wildcard für nur ein zeichen...
warg, der beistrich wars. ich hab nämlich vor allem wegen der fehlermeldung gepostet. hatte % auch schon drinnen, nur dauernd diese dumme fehlermeldung
thx
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025