mysqli->real_escape_string --
Protege caracteres especiales en una cadena para ser usada en una sentencia
SQL, tomando en cuenta el conjunto de caracteres para la conexión
class mysqli { cadena real_escape_sring ( cadena escapestr) }
Esta función es usada para crear una cadena SQL legal que se puede
usar en una sentencia SQL. La cadena escapestr está
codificada para una cadena SQL protegida, tomando en cuenta el conjunto de
caracteres actual para la conexión.
Los caracteres codificados son NUL (ASCII 0), \n, \r, \, ', ", y Control-Z.
$mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City");
$city = "'s Hertogenbosch";
/* this query will fail, cause we didn't escape $city */ if (!$mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) { printf("Error: %s\n", $mysqli->sqlstate); }
$city = $mysqli->real_escape_string($city);
/* this query with escaped $city will work */ if ($mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) { printf("%d Row inserted.\n", $mysqli->affected_rows); }
mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City");
$city = "'s Hertogenbosch";
/* this query will fail, cause we didn't escape $city */ if (!mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) { printf("Error: %s\n", mysqli_sqlstate($link)); }
$city = mysqli_real_escape_string($link, $city);
/* this query with escaped $city will work */ if (mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) { printf("%d Row inserted.\n", mysqli_affected_rows($link)); }
mysqli_close($link); ?>
Los ejemplos anteriores producirán la siguiente salida: