Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/09/2006, 09:37
jglorenzosqr
 
Fecha de Ingreso: octubre-2005
Mensajes: 778
Antigüedad: 18 años, 7 meses
Puntos: 1
Búsquedas con LIKE en php+mysql no valida bien..

Digo esto porque he accesado datos inválidos o que no existen en la base de datos. Me explico :

Tengo una base de datos llamada "tramites", y su table de "usuarios" con los campos : usuario(varchar : 12), clave(varchar : 12), privilegio(char : 1).

Realizo la búsqueda en el script :
$conexion_host_tramites = mysql_connect("localhost", "root", "root");
mysql_select_db("tramites", $conexion_host_tramites);
$consulta_usuarios = mysql_query("SELECT * FROM usuarios WHERE usuario LIKE '%$usuario%' AND clave LIKE '%$clave%'", $conexion_host_tramites);
if ($reg_actual = mysql_fetch_array($consulta_usuarios))
$privilegio = $row->privilegios;
else
echo "<DIV align='center'>Error...usuario o clave incorrecta</DIV>";

Los datos del usuario en la tabla "usuarios" son los siguientes :
Registro 1 :
usuario : jglorenzos
clave : lorenzos

Registro 2 :
usuario : lorenzo
clave : loren

Bueno, la validación con "LIKE", permite accesar con usuario = "jglorenzo" y clave=lorenzo, y no debería porque no es válido, solamente por una letra al final del datos.

Porqué valida esto si es incorrecto?