Código
function cleanQuery($value) { if (get_ magic_quotes_gpc()) { $value = strip slashes($value); } $value = mysql_real_ escape_string($value); return $value; }
El problema está con la función mysql_real_ escape_string, siempre que use esa función, voy a tener como resultado una cadena vacia, sin importar lo que le pase como parametros, incluso si hago algo como:
Código:
echo mysql_real_ escape_string("Hola")."jaja";
Sólamente imprime la cadena jaja.
He hecho:
Código:
echo function_exists("mysql_real_ escape_string");
y me devuelve 1 por lo que si existe.
La función cleanQuery, devuelve algo siempre y cuando le quite mysql_real_ escape_string,
Uso Apache Server 2.2.13, php 5.2.10 y mysql 5.0.84 sobre Slackware 13.0.
Espero que alguien puede ayudarme.
Saludos y Gracias.
EDIT: Las funciones tienen espacios porque sino el mod_security me lanza error y no me deja postear.
EDIT2: Subí la web a 000webhost y pasa lo mismo, mysql_real_escape_string limpia muy bien, por ahora estoy usando esto para prevenir SQLi:
Código
function cleanQuery($value) { //Limpiar consultas SQL $value = add slashes($value); return $value; }
¿Qué tan seguro es?, puedo usar ese y obviar la otra función??? Hasta ahora me a funcionado bien esa nueva función, pero, uno nunca sabe xD.
Gracias.