webForumDet fria alternativet

' och " in i MsSql probs

PHP

5 svar · 158 visningar · startad av GrodanBoll

Medlem sedan sep. 2001788 inlägg
Frågan#1

Tjo! :)

Jag har en admsida där redaktörerna ska lägga in sitt HTML-material i en textarea.
En funktion byter sen ut åÅ äÄ öÖ hot HTML-spec tecken. Det funkar bra.
Problemer e att jag vill ha med enkel- och dubbelfnutt (' och ").
PHP sätter automatiskt \ för varje sådant tecken, men sen när jag ska lägga in variablen i dbn så sätter den stopp. :(

Warning: MS SQL message: Line 6: Incorrect syntax near 'och'. (severity 15) in c:\program files\apache group\apache\htdocs\wwwhkr2\admsidasida.php on line 67

Warning: MS SQL message: Unclosed quotation mark before the character string '', sidTextSenastAndradNar ='2001-12-15 20:36:25', sidTextSenastAndradAv = 'baca' WHERE sidId = '1''. (severity 15) in c:\program files\apache group\apache\htdocs\wwwhkr2\admsidasida.php on line 67

Warning: MS SQL: Query failed in c:\program files\apache group\apache\htdocs\wwwhkr2\admsidasida.php on line 67
Error in query: .

Rad 67 e där jag kör SQL-satsen mot dbn.

Jag har även testat 'addslashes'-funktionen... men den lägger ju till extra mycket \ (t.ex. ' blir \\\'), så det blir oxå fel...

Någon som vet vad jag har gjort för fel?

*håller tummarna* :)

/Grodan

Medlem sedan dec. 200012 464 inlägg
#2

Hur ser sql-satsen ut då?

Om du vill ha med en ' (apostrof) i en sträng i ett sql-statement så får du skriva två stycken '' (apostrofer). Du får väl göra str_replace på de variabler du vill stoppa in i databasen.

red: Märks knappt någon skillnad på '' och "
------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 15 dec 2001]

Medlem sedan sep. 2001788 inlägg
#3

SQL-satsen ser ut så här:

$sqlquery = "UPDATE tblSida SET sidMetaKeyword = '$sidMetaKeyword', sidMetaDescription = '$sidMetaDescription', sidText = '$sidText', sidTextSenastAndradNar ='$sidTextSenastAndradNar', sidTextSenastAndradAv = '$SESSION_UID' WHERE sidId = '$sidId'";

Då ska jag alltså ha '' när jag vill ha in en ' och "" när jag vill ha in en "?
Cool... man lär sig någe nytt varje dag :)

Då fixar jag bara en funktion för det då.

Bugar o tackar :D

/Grodan

Medlem sedan dec. 200012 464 inlägg
#4

Citationstecken (") behöver du inte göra något åt alls bara du avgränsar strängar i din sql-sats med apostrofer (')

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 2001788 inlägg
#5

Men nu vet jag inte om jag fattar?
Om jag får en variabel från ett formulär somjag sedan ska lägga in i dbn (i denna variabel ska det kunna vara HTML-kod såsom t.ex. en länk... indenna länk ska det få vara både ' och ").

Om jag fattar dig rätt, gör jag antagligen inte ;), så enkelfnuttarna ska jag fixa så att de blir dubbla, dubbelfnuttarna behöver jag inte göra någe med?

Sen blir det ju automatiskt \ framför fnutarna... sak jag ta bort dem då?

Sen

Citationstecken (") behöver du inte göra något åt alls bara du avgränsar strängar i din sql-sats med apostrofer (')

Här fattar jag inte vad du menar? :q
När strängen ligger i en variabel så måste jag väl inte fnutta in den?

/Grodan

Medlem sedan sep. 2001788 inlägg
#6

Jaja, nu fattar jag Lars G... tog liiiite tid, men jag fatta iaf :D

Bugar o tackar för din tid :)

/Grodan

261 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)