Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/12/2013, 22:06
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: No puedo asegurar esta query

Puedes limpiar los datos que recibes aplicando las expresiones regulares que se muestran en este sitio.

Otra forma, sin expresiones regulares:

Código PHP:
Ver original
  1. $dato = mysqli_real_escape_string($conexion, strip_tags(trim($_POST["dato"])));

Para parametrizar la consulta con sprintf, debes hacerlo de esta forma, así evitarás el conflicto con los otros signos de porcentaje:

Código PHP:
Ver original
  1. $query = mysqli_query($conexion, sprintf("SELECT * FROM tabla WHERE campo LIKE '%%%s%%'", $dato));

Se escapan los signos de dólar del LIKE, colocándolos de forma doble para evitar el conflicto con el signo de dólar del especificador de tipo.

Obviamente, trabajando con LIKE, vas a obtener todos los resultados similares al dato recibido, si quieres obtener un dato idéntico, utiliza el signo de igualdad.

Saludis
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 28/12/2013 a las 22:50