A ver:
En este link:
http://php.net/manual/es/function.my...ape-string.php
Dice que se le añaden barras invertidas a una cadena de caracteres (por lo que entendi). Luego te ponen este ejemplo
Cita:
<?php
// Conexión
$enlace = mysql_connect('anfitrión_mysql', 'usuario_mysql', 'contraseña_mysql')
OR die(mysql_error());
// Consulta
$consulta = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($usuario),
mysql_real_escape_string($contraseña));
?>
Donde usan "sprintf" que no me interesa para nada, yo quiero una consulta normal mysql_query digamos.
Luego te ponen este ejemplo (que por cierto no tiene ninguna relacion con el anterior) y te dice que es un ejemplo de una consulta insegura. En ningun lado te dice como utilizar en forma normal (que es lo que ocurre en el 99% de las webs) sobre mysql-real-escape-string.
Cita:
<?php
// No hemos comprobado $_POST['password'], ¡podría ser cualquier cosa que el usuario quisiera! Por ejemplo:
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";
// Consultar la base de datos para comprobar si existe algún usuario que coincida
$consulta = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($consulta);
// Esto significa que la consulta enviada a MySQL sería:
echo $consulta;
?>
No es por nada, pero me tuve que mudar de servidor porque me reventaron la base de datos MySQL y ahora logicamente quiero tener mas cuidado antes de subir todo.