Foros del Web » Programando para Internet » PHP »

error de consulta

Estas en el tema de error de consulta en el foro de PHP en Foros del Web. yo estoy haciendo una consulta en la cual envio 2 valores si los valores se encuentran en la b.d me debe mostrar el mensaje q ...
  #1 (permalink)  
Antiguo 10/10/2006, 15:10
 
Fecha de Ingreso: abril-2006
Mensajes: 100
Antigüedad: 18 años
Puntos: 0
error de consulta

yo estoy haciendo una consulta en la cual envio 2 valores si los valores se encuentran en la b.d me debe mostrar el mensaje q corresponda. no se que esta mal en la consulta porq siempre me muestra el segundo mensaje asi los datos sean incorrectos

<?php
require_once("db.php");

$nombre = $_POST['nombre'];
$password = $_POST['pass'];


$validar="select UsuarioID, NombreUsuario, Contrasena
from Usuario where
Usuario.Contrasena = '$password' and
Usuario.NombreUsuario = '$nombre'";

$con = odbc_exec($enl,$validar);
$reg = odbc_fetch_array($con);


if ($reg=='$nombre' && $reg=='$password'){

echo "nombre de usuario y password incorrectos";
}else {
echo "correcto";
} ?>
  #2 (permalink)  
Antiguo 10/10/2006, 16:01
 
Fecha de Ingreso: mayo-2006
Mensajes: 38
Antigüedad: 18 años
Puntos: 0
A ver, asi a primera vista lo que yo veo es que de la parte del if no hay ni un solo trocito puesto como deberia, supongo que alguna que otra parte sera un despiste, pero igualmente voy a intentar explicar lo que yo creo que es correcto:

Para empezar con la comprobacion que haces es imposible que obtengas lo que buscas, estas preguntando si una sola variable es igual a 2 cosas distintas, y eso no es muy probable que suceda, es como si pones $a = 2 y dspues en un if preguntas if($a == 2 && $a ==3) cosa imposible.

Lo que deberias poner es algo parecido a:

Código:
if(($reg['NombreUsuario'] == $nombre) && ($reg['Contrasena'] == $password)){
//Caso afirmativo
}else{
//Caso negativo
}
No se muy bien si es asi porque nunca he tratado con "odbc_fetch_array", asi que puede que no funcione como yo creo, mirate la documentacion.

Uf realmente no se lo que es descuido y lo que es desconocimiento asi que yo lo dejo aqui, mirate un poco este codigo, que no se que tal esta, y todo lo que no entiendas sientete libre de preguntar que yo mismo o alguien mas seguro que te responde. Suerte.
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 00:43.