Spørgsmål ang. mysql real escape string

Her kan du få hjælp og stille spørgsmål til MySQL/MySQLi!
Besvar
goatman
Begynder
Indlæg:8
Tilmeldt:8. mar 2012, 16:05
Spørgsmål ang. mysql real escape string

Indlæg af goatman » 12. mar 2012, 20:22

Hej derude

Jeg har en linie jeg ikke helt forstår. Det drejer sig om denne (jeg har selv indsat mine egne variabler):

Kode: Vælg alt

$intEpisode = mysql_real_escape_string($_POST['intEpisode']);
Hvad er det præcist den bruges til?
Grunden jeg spørger er: Hvis jeg har den stående og jeg så laver en ny post på min blog, bliver det bare en tom post. Altså med intet indhold, selvom jeg HAR udfyldt på mit add-site.
Det virker jo lidt nyttesløst for mig at have sådan en stående. Derfor håber jeg meget på at der er nogen der kan forklare hvad den bruges til, og ikke mindst hvordan (for mit er tydeligvist ikke korrekt brugt, når der intet sker)

På forhånd tak :)

Brugeravatar
ThomasI
Grundlægger
Grundlægger
Indlæg:1528
Tilmeldt:28. dec 2010, 10:49

Re: Spørgsmål ang. mysql real escape string

Indlæg af ThomasI » 12. mar 2012, 20:35

Hej med dig!

mysql_real_escape_string($_POST['intEpisode']) Gør at din streng er sikker, så den ikke kan lave fejl i databasen...
dvs. at den også sætter \\\\ foran alle dine " og ' i strengen

Lyder underligt at det ikke virker når det er på...men hvis det alligevel KUN er dig der har adgang til blog systemet´s admin side er mysql_real_escape_string() måske overflødig, da den jo bruges til at beskytte din DB mod eksterne angreb som f.eks SQL injections.

goatman
Begynder
Indlæg:8
Tilmeldt:8. mar 2012, 16:05

Re: Spørgsmål ang. mysql real escape string

Indlæg af goatman » 12. mar 2012, 20:41

Ja, det er netop kun mig der har adgang, ingen andre overhovedet. Så det kan godt være at den slet ikke behøves. :)

Det der undrer mig meget er bare at addslashes virker fint. Den gør vel i princippet lidt det samme? Den sætter jo også \ foran diverse tegn (i hvert fald ', den har jeg testet).

Brugeravatar
webudvikleren
Rutineret
Rutineret
Indlæg:80
Tilmeldt:13. jun 2011, 21:11
Geografisk sted:Esbjerg
Kontakt:

Re: Spørgsmål ang. mysql real escape string

Indlæg af webudvikleren » 13. mar 2012, 09:43

Så længe du bruger en ældre version af PHP end 6.0 anbefales det på det kraftigste at du bruger mysql_real_escape_string (6.0+ skulle tage forbehold for dette).

Det er netop for at undgå fejl 40. Hele din hjemmeside kan bryde sammen, hvis den vel at mærke har nogle kernedata du trækker ud fra din database, hvis du taster for hurtigt og ikke sikrer dig hver eneste gang du gemmer noget i din database. Så jeg vil mene det er bedre at være på den sikre side.

Besvar