02. november 2004 - 15:20Der er
8 kommentarer og 1 løsning
Apostrof Replace MySQL
OK, jeg har replacet enkelt-apostrof med ' i en meget lang html-kode for at kunne skrive den ind i ét tabelfelt i en MySQL-database. Tanken var at jeg ville replace tilbage når jeg hentede det ud igen, men det giver en "error 507 - unespected error" - lige gyldigt hvad jeg prøver.
Jeg har prøvet: strMessageBody=Replace(objRS("HTML"),"'","'")
og endda: strMessageBody=objRS("HTML") 'Fejler ikke i sig selv strMessagebody=Replace(strMessageBody,"'","'") 'Fejler
Som en test har jeg prøvet: strMessagebody="Hal'lo" strMessagebody=Replace(strMessageBody,"'","'") - og det virker.
Hvad er fejlen??? Har det noget at gøre med HTML-koden som hentes? Jeg har prøvet at skrive den ud på siden, *inden* den bliver sat ind i databasen, og det giver det samme problem - så det har vel ikke noget at gøre med databasen???
Du kan godt indsætte ' tegneg i databasen. I MySQl skal du bare udskifte den med 2 eller \'. Så er du fri for at skifte tilbage igen når du hiver data ud.
Når jeg skriver sætningen ud, i stedet for at skrive ind i databasen, får jeg:
INSERT INTO tempFPNhtml (NyhedsbrevID,HTML) VALUES (1,'
Det er mærkeligt, fordi html-koden starter med <html> og der er nogle linjer før den første apostrof kommer. SÅ de første linjer skulle vel komme frem i sql-sætningen?
Hvis jeg prøver at skrive ovenstående ind i databasen får jeg fejlen "SQLBindParameter not used for all parameters " - men det er vel en følge af at SQL-sætningen ikke bliver skrevet ordentligt, som vist...
Mit forrige indlæg med den halve sql-sætning var forkert. Se helt bort fra det
Nu har jeg prøvet at kommentere alt hvor der skrives i databasen ud. Så der er en meget lang strMessagebody med HTML for en hel side, og med enkelt-apostroffer - her er de første linjer:
Hvis jeg nu tilføjer denne linje tilsidst, efter at hele koden er samlet: strMessagebody=replace(strMessagebody,"'","\'")
-så får jeg en fejl. Det samme gælder hvis jeg i stedet indsætter: strMessagebody=replace(strMessagebody,"'","''")
Der skrives ikke noget i databasen, dette er den eneste kode. Det skal dog tilføjes at det ligger i en server-side-include-fil i en funktion, som kaldes fra den fil som inkluderer ssi'en.
Fejlmeddelelsen er:
HTTP Error 507 507 Unexpected The Web server encountered an unexpected error while communicating with the ASP service. Please contact the server's administrator if this problem persists.
Den response.end var meget smart - den kendte jeg ikke :-)
Jeg har opgivet at lave det på denne måde - det er alligevel en lappeløsning på et mere grundlæggende problem. Nu har jeg lavet en løsning med en cookie i stedet, så må det være godt nok indtil videre.
Tak for hjælpen - smid et svar, så får du points...
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.