\" in i databas

PHP

3 svar · 408 visningar · startad av SoulGod

Medlem sedan aug. 20051 200 inlägg
Trådstart#1

När jag lägger in ett värde som ser ut såhär:

<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/FhXvl1lVxLI&hl=sv&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/FhXvl1lVxLI&hl=sv&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

Och sparar det i ett fält som är "blob" i databasen.
Och när jag sparar informationen så blir det \" för varje " ..
och när jag läser ut infon så blir det inte rätt..
Så jag vill inte att den ska göra \" ..

Hur gör jag det?

Medlem sedan sep. 2006867 inlägg
#2

Jag tror du löser det problemet med att inte lagra text som binärdata

Medlem sedan mars 2007845 inlägg
#3

Om den inte gör \" så får du i bästa fall syntaxfel när du skickar frågan till databasen. I värsta fall är det någon annan som skickar frågan och raderar din databas.

Använd stripslashes() för att ta bort \ när du visar texten.

Medlem sedan mars 20041 505 inlägg
#4

drew skrev:

Om den inte gör \" så får du i bästa fall syntaxfel när du skickar frågan till databasen. I värsta fall är det någon annan som skickar frågan och raderar din databas.

Använd stripslashes() för att ta bort \ när du visar texten.

Nej, det där är feltänk.
Man ska inte lagra slashes i databasen. Något är galet här.

SoulGod, jag misstänker att magic quotes är aktiverat på servern, slå av det!
Med magic quotes så riskerar man att göra dubbel escape på indatat, vilket resulterar i dubbla slashes.
Scenariot nu är att istället för \" så skickas \\" till databasen och bara den ena slashen försvinner.
Hoppas du förstår!

267 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)