mysql: suche innerhalb der spalten
kleinerChemiker 12.12.2004 - 19:04 605 3
kleinerChemiker
Here to stay
|
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
Bearbeitet von kleinerChemiker am 12.12.2004, 19:27
|
DKCH
...
|
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
Bearbeitet von DKCH am 12.12.2004, 19:23
|
tomstig
OC Addicted
|
also, gleich zwei fehler: so muss es lauten: $query = "SELECT id, name, last_login FROM chars WHERE name LIKE '%" . $name . "'%"; da findet er hallm aierich, wenn du statt % ein _ machst dann findet er nur m aier... %... 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...
Bearbeitet von tomstig am 12.12.2004, 19:22
|
kleinerChemiker
Here to stay
|
warg, der beistrich wars. ich hab nämlich vor allem wegen der fehlermeldung gepostet. hatte % auch schon drinnen, nur dauernd diese dumme fehlermeldung thx
|