Gå til innhold

problem med mysql_real_escape_string


Anbefalte innlegg

Jeg bruker mysql_real_escape_string for å ecape alle qoutes før meldinger i gjesteboken min blir lagret i databasen. Problemet er når jeg henter infoen ut av databasen igjen. Da blir slashene med på tross av at jeg bruker koden stripslas

hes(mysql_fetch_object()) når jeg henter ut infoen fra databasen. Dette er også et problem nå jeg bruker rediger-funksjoenen fordi hver gang jeg trykker på lagre så blir meldingen escapet igjen...dette fører til at enkelte meldinger som innholder quotes blir seende slik ut: \\\"bor\\\"

 

Er det forresten noen som vet hvor jeg kan få tak i et paging-script som ligner på det som er på forumet her? har ett fra før, men bare lister opp alle sidene med kommentarer selv om det blir hundre sider til slutt 1 2 3 4 5 6 osv og jeg vil som sagt ha et som fungerer slik som her på forumet eller som linger.

Endret av Tha_Zaynt
Lenke til kommentar
Videoannonse
Annonse

Det her minner mistenkerlig mye om magic_quote-problem. Er den på så vil $_GET og $_POST automatisk legge til noen \. Uannsett, du kan enten stole på magic_quote (ikke helt sikker på hvor bra det kan være) eller kjøre noe ala dette:

if ( get_magic_quotes_gpc() )
 $var = stripslash($var);
$var = mysql_real_escape_string($var);

 

Edit: Modererer meg litt :)

Endret av Ernie
Lenke til kommentar

eksempel hentet fra phpManualen.

 

Denne quote_smart() funksjonen er faktisk veldig fin

 

<?php
// Quote variable to make safe
function quote_smart($value)
{
  // Stripslashes
  if (get_magic_quotes_gpc()) {
      $value = stripslashes($value);
  }
  // Quote if not integer
  if (!is_numeric($value)) {
      $value = "'" . mysql_real_escape_string($value) . "'";
  }
  return $value;
}

// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
  OR die(mysql_error());

// Make a safe query
$query = sprintf("SELECT * FROM users WHERE user=%s AND password=%s",
          quote_smart($_POST['username']),
          quote_smart($_POST['password']));

mysql_query($query);
?> 

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...