2.3k Aufrufe
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
von merlin59 Experte (2.8k Punkte)
Hi,

nur so 'ne Idee:

Lass nach "%" suchen.

mfg
Merlin
0 Punkte
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
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

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...