i’m running this script on my testing server on local machine. From what i can tell get magic quotes it not turned on (code below is used to checK)
if(get_magic_quotes_gpc())
echo "Magic quotes are enabled";
else
echo "Magic quotes are disabled";
Anyways i use addslashes to escape apostraphes and slashes before inserting them into a mySQL database. However, when i try to unescape them using stripslashes, it doesnt seem to be having an effect.
the following is a snippet of code that acts on a MySQL query result. I’m attempting to stripslashes but it’s not working. When this query string is passed back to Javascript via Ajax, some things are still escaped when i output the JSON string to an alert box. For example, i call addslashes before inserting 1/2 into database, when i retrieve it through ajax via this script and use stripslashes, in an alert box it is still appearing as “1\/2”.
if ( $returnVar->select == "yes" ) {
$arr = NULL;
if ($result)
$num_results = mysqli_num_rows($result);
else
$num_results = 0;
for ($i = 0; $i < $num_results; $i++) {
$row = mysqli_fetch_assoc($result);
foreach ( $row as $current ) {
$current = stripslashes($current);
}
$arr[$i] = $row;
}
$returnVar->items = $num_results;
}
$z = rawurlencode(json_encode($returnVar));
echo $z;
i then retrieve $z using AJAX call.
Also, the string " Honey Nut O’s Cereal " is successfully inserted into database after calling addslashes on it. when its retrieved via the above snippet and output to a table cell in Html using JS, it appears the slash is gone. It also appears gone if i call an alert box on AJAX response string (but slash is sitll present in “1\/2” which i cannot figure out.) But when i then take the value from the table cell ( by using innerHTML ) and try to insert it back into the database, after calling addslashes it goes from having 0 slashes to 2 slashes!! wtf pls help cannot figure this out.