Avatar billede morten_linder Praktikant
13. juni 2001 - 14:27 Der er 14 kommentarer og
2 løsninger

specialtegn og MS SQL

Hej i kloge hoveder.... jeg har faktisk et par spørgsmål...

1. Hvordan indsætter man specialtegn i en tabel, hvis data indeholder \" , \' , ´ eller ` ???

Så får jeg en SQL fejl

2. Hvordan stripper jeg en streng for HTML?

VH

Morten

Avatar billede parazite Nybegynder
13. juni 2001 - 14:30 #1
1: Brug addslashes($var); når du indsætter data. Brug stripslashes($var); når du hiver data ud igen.

2: $streng = htmlentities($streng);
Avatar billede parazite Nybegynder
13. juni 2001 - 14:32 #2
Når du adder slashes, så indsætter PHP en \\ foran alle særlige tegn, og derfor giver databasen ikke fejl. På samme måde fjerner stripslashes(); alle ekstra \\, så dit output bliver fornuftigt.

http://www.php.net/addslashes
http://www.php.net/stripslashes
http://www.php.net/htmlentities
Avatar billede nau.dk Nybegynder
13. juni 2001 - 14:32 #3
Hvis du vil fjerne tags\'ene i stedet for at omdanne dem til html skal du køre strip_tags($streng, $tilladte);

Hvor $tilladte er de tags der gerne må være, f.eks.
$tilladte = \'<br>\';
Avatar billede erikjacobsen Ekspert
13. juni 2001 - 14:39 #4
Brug **ikke** stripslashes($var); når du hiver data ud igen. De er blevet
fjernet i det øjeblik de er kommet ind i databasen. Med mindre dog, der er
en af PHP automatisk addslashes-funktion...
Avatar billede parazite Nybegynder
13. juni 2001 - 14:41 #5
Erik : Tak for oplysningen. :)
Avatar billede erikjacobsen Ekspert
13. juni 2001 - 14:44 #6
Prøv selv en dag at put \"\\\\\\\\\" ind i databasen. Laver du en ekstra stripslashes
får du \"\\\\\" ud, og det er ikke det samme. Det er dog lidet sandsynligt man har
\\-er i sin tekst, så derfor opdager du det meget sjældent. 
Avatar billede morten_linder Praktikant
13. juni 2001 - 14:50 #7
HTML strip er på plads :)
det funger fint med gåseøjne nu :)

MEN, \' giver stadig fejl :(

Warning: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near \'1\'., SQL state 37000 in SQLExecDirect

Det bliver altså stadig opfattet som et \"ulovligt\" tegn.

/Morten
Avatar billede morten_linder Praktikant
14. juni 2001 - 17:09 #8
tak tak :)
Avatar billede erikjacobsen Ekspert
14. juni 2001 - 22:35 #9
Øh - du fik løst det?
Avatar billede morten_linder Praktikant
15. juni 2001 - 07:59 #10
jep... det gjorde jeg :)

Men har nu stadig mine problemer med ereg_replace... driller lidt :/

Så hvis du er stiv i den, så opretter jeg gerne et spørgsmål, med en masse point :)

/Morten
Avatar billede erikjacobsen Ekspert
15. juni 2001 - 08:38 #11
Prøv gerne - men ikke med en masse points. Det er
slet ikke nødvendigt.
Avatar billede morten_linder Praktikant
15. juni 2001 - 08:42 #12
har faktisk løst det selv igen..

bliver nogle gange helt forbavset over mig selv :)

/Morten
Avatar billede erikjacobsen Ekspert
15. juni 2001 - 08:45 #13
Det er en kedelig udvikling på eksperten.dk, når
brugerne lærer at klare sig selv :))
Avatar billede morten_linder Praktikant
15. juni 2001 - 08:54 #14
det er vel helt ok?

vil da gerne poste hvad jeg selv kom frem til, men ved jo ikke om det er til nogen nytte :)

php.net er en udemærket kilde til viden.. hvis det er php, man vil lære.
Avatar billede erikjacobsen Ekspert
15. juni 2001 - 10:05 #15
Nej, undskyld Morten, min kommentar var dybt ironisk.
Ja, det er vel lidt meningen at man skal lære nye ting,
også her. Men når \"I\" lærer det selv, kommer der ikke
så mange spørgsmål som \"vi\" kan svare på.
Avatar billede morten_linder Praktikant
15. juni 2001 - 10:36 #16
nå nej... forstod godt din ironi :)

Men, jeg er nu flittig bruger her, har ikke så mange guldkorn, da de færreste gider høre noget om sendmail og C64 :)

Så det er ikke sidste gang du har set mig..
bakser stadig med regulære udtryk i PHP, og det var lidt nemmere i perl.

Men, man lærer jo ikke noget, hvis man ikke prøver, og jeg har da fået øjnene op for PHP, i forhold til perl. Specielt db adgang.

/Morten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester