Jump to content

mysql_real_escape_string adds 3 slashes


NathanLedet

Recommended Posts

I found this function and it works well

$dbh=mysql_connect ("localhost", "user","pass") or die(mysql_error());
function escape_data ($data) {
        global $dbh; 
        if (ini_get('magic_quotes_gpc')) {
            $data = stripslashes($data);
        }
        return mysql_real_escape_string(trim($data), $dbh);
    } 
$firstname = escape_data($_POST['firstname']);

 

Now...is it considered bad practice to put data into a database with \' or \" ? I would say yes, because Now I have to use stripslashes($firstname) whenever I'm pulling it out just so it looks right...but how do I put $firstname into the database and ensure it's safety?

The escape characters \ in a query are not inserted into the database. However, if you are getting \ in data after it has been retrieved from a database, it is because of the magic_quotes_runtime setting, which should be turned off as well.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.