webForumDet fria alternativet

problem med fnuttar i text i Mysql

2 svar · 583 visningar · startad av urban_hahne

urban_hahneMedlem sedan maj 2003153 inlägg
#1

Jag har en variabel $text som jag sparar i ett blobfält i mysql. (PHP) Det går bra ända tills texten innehåller enkelfnutt någonstans Jag får då ett felmeddelande att det inte gick att spara i databasen. Vad gör jag för fel.

nitro2k01Medlem sedan aug. 20039 342 inlägg
#2

Du måste så kallat escapea parametern med t ex addslashes eller mysql_real_escape_string. Jag tror att addslashes passar bättre för dig i detta fall då mysql_real_escape_string tar hänsyn till ditt character set, vilket kanske kan skapa problem om du matar in binärdata. mysql_real_escape_string bör du i regel använda för textsträngar. Nummer bör du se till att de verkligen är nummer. Annars kan du råka ut för SQL-injektioner. Som det är nu tar ju strängen slut vid enkelfnutten, och en elak användare kan skriva in SQL-kod.
Eller, använd PDO.

liljaMedlem sedan juli 20041 183 inlägg
#3

Precis som nitro2k01 skriver. PDO är bra, men MySQLi är enklare. Du kan kolla på prepared statements för ett lite smartare sätt på hur man kan göra.

http://se2.php.net/manual/en/mysqli.prepare.php

124 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)