Estoy tratando de guardar los datos escapados en la base de datos pero pese a que uso mysqli_real_escape_string(), los datos como \n, \r, \, ' se guardan en la base
Ejemplo: $_POST ['nombre'] = "pr'ueb\ra"
mysqli_real_escape_string($_POST ['nombre']); //Rdo esperado: pr\'ueb\\ra
Hice varias pruebas pero ninguna funciona:
Código:
$query = sprintf("INSERT INTO usuarios (us_nom, us_ape, us_nivel, us_nick, us_pass) VALUES ('%s', '%s', '%s', '%s', '%s')", mysqli_real_escape_string($laConexion, $_POST['nombre']), mysqli_real_escape_string($laConexion, $_POST['apellido']), '10', mysqli_real_escape_string($laConexion, $_POST['nick']), mysqli_real_escape_string($laConexion, $_POST['pass']));
Código:
En todos los casos las variables se escapan pero se guardan sin escapar en la base de datos. $nom = mysqli_real_escape_string($laConexion, $_POST['nombre']); $query = "INSERT INTO usuarios (us_nom, us_ape, us_nivel, us_nick, us_pass) VALUES ('$nom', '{$_POST['apellido']}', '10', '{$_POST['nick']}', '{$_POST['pass']}')";
¿alguna idea?¿qué estoy haciendo mal?
Gracias.