Avatar billede bibber74 Nybegynder
09. juni 2005 - 00:12 Der er 4 kommentarer

Apostrof og linieskift - ASP til MySQL

Jeg gemmer teksten fra et textarea i MySQL og henter det frem igen uden problemmer, men hvis der er lavet linieskift, apostrofer, anførselstegn og indsat evt hyperlinks så knækker koden. Jeg har lavet et wordfilter lige pt. som sorterer ovennævnte fra men ville gerne have at det kunne gemmes og vises igen da det jo er meningen fremfor een lang smøre. Database feltet er sat til at være af typen Text og jeg anvender ASP så please ingen PHP løsninger :)
Avatar billede ksoren Nybegynder
09. juni 2005 - 00:30 #1
Apostroffer fixer du ved erstatte dem to apostroffer før indsættelse i database:
    text = Replace(text, "'", "''")

For at få linieskift kan du gøre sådan:
    text = Replace(Replace(text, Chr(13), ""), Chr(10), "<br>")
Avatar billede bibber74 Nybegynder
09. juni 2005 - 21:20 #2
hmm.. virker ikke rigtigt, jeg har lavet et meget simpelt stykke kode, kan du evt sige hvad det er der går galt, hvis jeg poster denne tekst i textarea og vil gemme den..

Prøve tekst:
dette virk'er "heller" ikke det her..

<%
if request.form("button").count = 1 then
   
    text = Request.Form("tekst")
    text = Replace(text, "'", "''")
    text = Replace(Replace(text, Chr(13), ""), Chr(10), "<br>")
    'lav et recordset object
    set rs = server.CreateObject("ADODB.RecordSet")
    sql = "INSERT INTO test (id,txt) VALUES ('','" & Request.Form("tekst") & "')"
    set rs = oConn2.Execute(sql)

else
%>
    <form action="tekst.asp" method="post" name="thisform2">
    <textarea cols="40" rows="10" name="tekst"></textarea><input type="submit" name="button" value="OK">
    </form>
<%
    set rs = server.CreateObject("ADODB.RecordSet")
    sql = "SELECT * FROM test"
    set rs = oConn2.Execute(sql)
   
    do until rs.eof
        response.write rs("id") & " , " & rs("txt") & "<br>"
        rs.movenext
    loop
end if
%>

det giver denne fejl
Error Type:
ADODB.Connection.1 (0x80004005)
SQLState: 4 Native Error Code: 1064 [TCX][MyODBC]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'e "heller" ikke det her..')' at line 1

jeg går ud fra det er antallet eller mangel på samme af ' tegn den er gal med.. løsningen er ??
Avatar billede bibber74 Nybegynder
14. juni 2005 - 23:16 #3
Efter lidt fiks fakseri har jeg fået det til at virke, tak for din løsning ksoren.

Jeg ved ikke helt hvordan jeg giver dig point, men prøver ved at give et svar.
Avatar billede bibber74 Nybegynder
14. juni 2005 - 23:18 #4
hehe jaja, alt begyndelse er svær.. jeg kan nu se at det er dig som skal give et svar :)  hmmm hørte jeg et DOHH!
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
Computerworld tilbyder specialiserede kurser i database-management

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