jamen kan man ikke bare lave noget streng replace, for at fjerne de tegn som MySQL ikke kan klare....Jeg skal kun bruge det når jeg indsætter noget i databasen...
Jeg har mange variabler der bliver indsat så bliver det jo til meget kode!
mysql_real_escape_string($navn) er jo også en form for replace, og hvis du bruger safe_query-funktionen, skal du jo også kun oprette funktionen en gang, og så ellers bare kalde den, fra de andre sider (li'som hvis du ville sætte en replace ind)
Det kan du sagtens, med mindre ikke allerede har en connection til databasen åben (og det går jeg ud fra du har, når du vil foretage et db-kald). Det er et opslag i databasen, der foretages, og såfremt der er adgang dertil (via en connection), kan du sagtens køre ovenstående, men hvis du har førsøgt ovenstående i en selvstændig test-fil uden en db-connection åben, vil du få en fejl
Funktionen safe_query er bare en lidt mere avanceret version, der først går ind og tjekker om magic-quotes er sat op på severen og derefter forholdersig til at det er in insert eller search og til sidst, ud fra om variablen er et tal, undlader at sætte '' omkring. Det er for så vidt unødvendigt, og kun noget der kan gøre din programmering lettere fremover, ikke hvis du skal ændre alle dine koder i forhold til det ;)
Og for at svare på dit spørgsmål, jo, du kan sagtens nøjes med $navn = mysql_real_escape_string($navn);, såfremt du ved, at din server ikke anvender magic-quotes :)
ok, det virkede på den gamle server, men på den nye gør det ikke så der må magic-quotes være slået fra, hvis man så kommer over på en server hvor det er slået til går der så ged i det når man bruger mysql_real_escape_string ?
Er det noget sikkerhedsmæssigt at man slå magic quotes fra på serveren ?
Ikke som sådan, men det er jo ikke altid nødvendigt at anvende escapes i strenge, og så skal du jo arbejde den anden vej, og så er der selvfølgelig et performance-hensyn.
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.