2.1k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo

ich habe eine Suchfunktion im PHP Script mit select like %$var%.
wenn ich aber nach einem Prozentzeichen suche bekomme ich die gesamte DB zurück.
Wie schaffe ich es das dieses Zeichen nicht als Steuerzeichen interpretiert wird?

3 Antworten

0 Punkte
Beantwortet von merlin59 Experte (2.8k Punkte)
Hi,

nur so 'ne Idee:

Lass nach "%" suchen.

mfg
Merlin
0 Punkte
Beantwortet von
hab schon mit specialchar b.z.w. entinitis versucht die Einträge in die DB so zu maskieren das dieses Problem nicht auftritt. Nun kann ich nach russischen, chinesischen u.s.w. Zeichen suchen aber das % steht weiterhin unmaskiert in der DB.
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Du musst alles, was du an die Datenbank schickst auch entwerten. Um nach einem Prozentzeichen als Literal zu suchen (statt es interpretiert zu bekommen) also etwas machen wie
SELECT * FROM a WHERE b LIKE '\%';
dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html#operator_like
...