On Fri, 20 Dec 2002 18:02:25 +0100, Bo Rattenborg wrote:
> I forbindelse med en søgefunktion, er jeg blevet rådet til at anvende
> addslashes() på min søgestreng.
Lad os antage at PHP modtage følgende streng fra en formular:
"I'm to sexy for my shirt"
Det er ret klart at hvis du direkte sætter den ind i en database, eller
gør noget andet vil du få en fejl:
INSERT INTO foo (bar) VALUES ('I'm to sexy for my shirt')
Derfor har PHP en vane med at prefixe visse karakterer med \ for at escape
dem. Din streng ser derfor sådan ud:
"I\'m to sexy for my shirt"
På denne måde kan du snildt bruge den i MySQL:
INSERT INTO foo (bar) VALUES ('I\'m to sexy for my shirt')
Dog skal man så være opmærksom på at når man hiver tingene ud af databasen
igen skal man fjerne backslashen (da det jo ikke er videre kønt når man
skal læse det). Dette gøres, som du nok har gættet, med strip_tags:
print strip_tags("I\'m to sexy for my shirt");
-> I'm to sexy for my shirt
Jeg håber det hjalp.
--
Christian Jørgensen | If you need a screwdriver,
http://www.razor.dk | use the general purpose hammer.