Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/12/2013, 21:29
MrKaiser
 
Fecha de Ingreso: febrero-2013
Ubicación: Bariloche - Argentina
Mensajes: 7
Antigüedad: 11 años, 9 meses
Puntos: 0
No puedo asegurar esta query

Buenas,
Les comento que se me hace imposible asegurar el siguiente código, pertenece a un live search. Al colocar el símbolo de porcentaje (%) la query devuelve todos los resultados posibles, osea es inseguro.

Código PHP:
$q $_REQUEST['email'];
    
$q mysqli_real_escape_String($con$q);
    
$sql mysqli_query($con"SELECT id, email FROM web_cert WHERE activa = 0 and email LIKE '%$q%' ORDER BY id LIMIT 0,5");
    
$i 0;
    
$num mysqli_num_rows($sql);
    if(
$num)
    {
        while(
$i $num and $row mysqli_fetch_assoc($sql))
        {
            
$id $row['id'];
            
$email $row['email'];
            echo 
"<li><a href=./vercertificacion?id=".$id." >".$email."</a></li>";
        }
    }
    else { echo 
"<li>No hay resultados</li>"; } 
Intenté asegurar la consulta de las siguientes maneras, pero ninguna dio resultado. También intenté usando sprintf pero la consulta se "distorciona", osea en la parte del "LIKE '%$q%'" no funciona el "LIKE %%s%".
Código PHP:
$q htmlentities($qENT_QUOTES,'UTF-8');
    
$q preg_replace("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/"" "$q);
    
$q stripslashes($q);