Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Varios AND en una cosulta desde formulario

Estas en el tema de Varios AND en una cosulta desde formulario en el foro de Mysql en Foros del Web. Buena tarde a todos. Ojala puedan apoyarme. Mi pregunta es.. se pueden colocar varios And en una consulta? Quiza si les explico que quiero hacer, ...
  #1 (permalink)  
Antiguo 09/07/2012, 16:02
 
Fecha de Ingreso: junio-2011
Ubicación: Irapuato
Mensajes: 13
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Varios AND en una cosulta desde formulario

Buena tarde a todos. Ojala puedan apoyarme.

Mi pregunta es.. se pueden colocar varios And en una consulta?

Quiza si les explico que quiero hacer, sea más facil.

Tengo un formulario en el cual tengo que insertar "Nombre de usuario", "No. de Cliente" y su "contraseña".

Al hcaer click en estos datos, yo requiero que si falta uno de esos 3 datos, no me deje accesar. Pero si los 3 datos son correctos, me deje ingresar a una página.

Tengo el siguiente código pero no se si sea el correcto. Estoy manejando sesiones. Todo pareciera que funciona bien, pero en la consulta es donde nada mas no funciona.

<?php
session_start();
include('acceso_db.php');
if(isset($_POST['enviar'])) { // comprobamos que se hayan enviado los datos del formulario
// comprobamos que los campos usuarios_nombre y usuario_clave no estén vacíos
if(empty($_POST['usuario_nombre']) || empty($_POST['usuario_clave']) || empty($_POST['usuario_cliente'])) {
echo "El RFC, el numero de cliente o la contraseña no han sido ingresados. <a href='javascript:history.back();'>Reintentar</a>";
}else {
// "limpiamos" los campos del formulario de posibles códigos maliciosos
$usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
$usuario_cliente = mysql_real_escape_string($_POST['usuario_cliente']);
$usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
$usuario_clave = md5($usuario_clave);
// comprobamos que los datos ingresados en el formulario coincidan con los de la BD
$sql = mysql_query("SELECT usuario_id, usuario_nombre, usuario_cliente, usuario_clave FROM usuarios WHERE usuario_nombre='".$usuario_nombre."' AND (usuario_cliente='".$usuario_cliente."' AND usuario_clave='".$usuario_clave."')");
if($row = mysql_fetch_array($sql)) {
$_SESSION['usuario_id'] = $row['usuario_id']; // creamos la sesion "usuario_id" y le asignamos como valor el campo usuario_id
$_SESSION['usuario_nombre'] = $row["usuario_nombre"]; // creamos la sesion "usuario_nombre" y le asignamos como valor el campo usuario_nombre
$_SESSION['usuario_cliente'] = $row["usuario_cliente"]; // creamos la sesion "usuario_cliente" y le asignamos como valor el campo usuario_cliente
header("Location: perfil.php");
}else {
?>
Error, <a href="acceso.php">Reintentar</a>
<?php
}
}
}else {
header("Location: rssmcabuyorders.php");
}
?>

Alguien podría ayudarme? Agradezco su apoyo. Saludos.
  #2 (permalink)  
Antiguo 09/07/2012, 16:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Varios AND en una cosulta desde formulario

Cita:
Mi pregunta es.. se pueden colocar varios And en una consulta?
Si, perfectamente.
Lo que tienes que tener en cuenta es que implica que se tienen que cumplir todas las condiciones para que te devuelva resultados.
Cita:
Tengo un formulario en el cual tengo que insertar "Nombre de usuario", "No. de Cliente" y su "contraseña".

Al hcaer click en estos datos, yo requiero que si falta uno de esos 3 datos, no me deje accesar. Pero si los 3 datos son correctos, me deje ingresar a una página.
Detalles irrelevantes, los formularios no son asunto de MySQL, sino de programación.
Es una pregunta para el Foro de PHP.

Cita:
Tengo el siguiente código pero no se si sea el correcto. Estoy manejando sesiones. Todo pareciera que funciona bien, pero en la consulta es donde nada mas no funciona.
Sigue siendo tema irrelevante. Las sesiones son de PHP, no de MySQL. Son asuntos independientes.
Pregunta en el Foro de PHP.

Nota: Por norma del Foro de Bases de Datos, no se tratan temas de programación aquí. Tampoco se debe postear código de programación en este foro. Es trash code y no aporta nada al problema desde la óptica de BBDD. Incluso más: Esconden problemas de sintaxis y lógica detrás de variables que no son órbita de MySQL.

Nota 2: PHP y MySQL son cosas independientes. No necesitas PHP para usar MySQL, ni MySQL para usar bases de datos en PHP.

Nota 3: Que usemos MySQL no implica que usemos PHP. A MYSQL lo puedes usar desde cualquier lenguaje de programación.



Finalmente, desde el punto de vista de MYSQL, lo único relevante de todo lo que pusiste es esto:
Código MySQL:
Ver original
  1.     usuario_id,
  2.     usuario_nombre,
  3.     usuario_cliente,
  4.     usuario_clave
  5. FROM usuarios
  6.     usuario_nombre='".$usuario_nombre."'
  7.     AND usuario_cliente='".$usuario_cliente."'
  8.     AND usuario_clave='".$usuario_clave."';
Sintácticamente no contiene errores, por lo que la única posibilidad de que no te devuelva registros es que no haya registros que cumplan las tres condiciones, siempre y cuando las variables en realidad contengan datos, dado que como son de cadena, una variable vacía no generaría error de sintaxis, pero no devolvería datos si el campo en la tabla contiene datos.

Por cierto: Si en el WHERE todos los parámetros están unidos por AND, los paréntesis son irrelevantes. No se necesitan.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 09/07/2012 a las 16:28
  #3 (permalink)  
Antiguo 09/07/2012, 16:46
 
Fecha de Ingreso: junio-2011
Ubicación: Irapuato
Mensajes: 13
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Varios AND en una cosulta desde formulario

Muchas gracias por la respuesta. Bueno, en verdad no sabia que no se podría poner esto aqui. Una disculpa de antemano. Movere mi pregunta a php. Gracias.
  #4 (permalink)  
Antiguo 09/07/2012, 16:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Varios AND en una cosulta desde formulario

No problem.
Es un error que los de PHP cometen toooodo el tiempo.
Hasta ahora no termino de entender por qué suponen que MySQL y PHP son cosas vinculadas o interdependientes.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: consultas+mysql, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:21.