Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

devolver un dato para la validación

Estas en el tema de devolver un dato para la validación en el foro de Frameworks y PHP orientado a objetos en Foros del Web. devolver un dato para la validación -------------------------------------------------------------------------------- Hey amigos de php OO les pido una ayuda estoy tratando de devolver un dato que pido a ...
  #1 (permalink)  
Antiguo 06/01/2008, 14:09
 
Fecha de Ingreso: diciembre-2007
Mensajes: 12
Antigüedad: 16 años, 4 meses
Puntos: 0
devolver un dato para la validación

devolver un dato para la validación

--------------------------------------------------------------------------------
Hey amigos de php OO les pido una ayuda estoy tratando de devolver un dato que pido a la base de datos para validar un usuario, por una funcion, con un return utilizando el mysql_fetch_array no se como recuperarlo desde la clase que la instancia. le puse un echo para ver si lo devuelve pero me dice que usuario no existe y sabiendo que el usuario esta registrado en la base de datos, cunado le hago un echo al resultado colocandole [0], el echo me devuelve uno, pero en la clase no me lo recibe, aqui les dejo el codigo para ver si me pueden ayudar.

ConeccionOracle.php
//no les envio las variables la conexion para hacerlo mas facil a la vista

public function obtenerdatosBD(){
//aquí se obtienen los datos de la consulta
$this->resultado = mysql_fetch_arra($this>consulta);
return $this->resultado;
}

Llama
  #2 (permalink)  
Antiguo 06/01/2008, 14:11
 
Fecha de Ingreso: diciembre-2007
Mensajes: 12
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: devolver un dato para la validación

Llama conexion.php

public function validarUsuario($usuario){
$this->sql->ConectarOracle();
$this->sql->consultarBD ("select count(*) usuarios from usuarios where rut = '".$usuario."'");
$this->sql->obtenerdatosBD();
if ($this->sql->obtenerdatosBD()){
$this->sql->obtenerdatosBD();
echo "Usuario Existe";
}else{
echo "Usuario no existe";
}

bueno espero que que alguien pueda entender el codigo habe rsi obtengo al guna ayuda. bye
  #3 (permalink)  
Antiguo 06/01/2008, 14:55
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: devolver un dato para la validación

Yo creo que ese código no está muy bien hecho. Me explico.

La función mysql_fetch_array devuelve un array en caso de éxito o false si no quedan más filas. Lo que se pretende hacer en la funcion validarUsuario es comprobar si existe. Por lo tanto, habría que comprobar el número de filas devueltas (por ejemplo, con la función mysql_num_rows).
Por otro lado, hacer 3 llamadas consecutivas a obtenerdatosBD no me parece muy eficiente.

Un saludo
  #4 (permalink)  
Antiguo 07/01/2008, 12:05
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: devolver un dato para la validación

El error está precisamente en que invocas varias veces a obtenerdatosBD.
La primera vez te trae el registro con datos, y mueve el apuntador al siguiente registro (posiblemente ninguno), por lo que las siguientes dos llamadas te retornan false.

Asigna el valor a una variable y desde ahí trabaja con la variable.
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 07:47.