Foros del Web » Programando para Internet » PHP »

Error al ejecutar funcion

Estas en el tema de Error al ejecutar funcion en el foro de PHP en Foros del Web. loginmodel.php Código: <?php require_once '../ds/Gestion.php'; class LoginModel{ public function ValidarEmpleado($usuario,$clave){ try{ $consulta="select * from usuario where usuario='".$usuario."' and clave='".$clave."'"; $gestion=Gestion::getInstancia(); $lista=$gestion->executeQuery($consulta); if(count($lista)==0){ //throw new Exception("Usuario ...
  #1 (permalink)  
Antiguo 25/04/2014, 11:04
 
Fecha de Ingreso: junio-2012
Mensajes: 44
Antigüedad: 11 años, 9 meses
Puntos: 0
Error al ejecutar funcion

loginmodel.php
Código:
<?php
require_once '../ds/Gestion.php';
class LoginModel{
	public function ValidarEmpleado($usuario,$clave){
		try{
			$consulta="select * from usuario where usuario='".$usuario."' and clave='".$clave."'";

			$gestion=Gestion::getInstancia();
			$lista=$gestion->executeQuery($consulta);
			if(count($lista)==0){
				//throw new Exception("Usuario No Existe.");
			}
			$rpta=false;
			if($clave==$lista[0]["Clave"]){
				$rpta=true;
			}
			return $rpta;
		}catch(Exception $e){
			throw $e;
		}
	}//Fin Del Metodo
		
}
?>
Gestion.php

Código:
<?php
	class Gestion{
		//Sigleton
		private static $instancia = null;
		public static function getInstancia(){
			try{
				if( self::$instancia == null){
					self::$instancia = new Gestion();
				}
			}catch(Exception $e){
				throw $e;
			}
			//return self::$instancia;a
		}
		public $cn = null;
		function __construct(){
			try{
				$this->cn=mysql_connect("localhost","root","");
				if(!$this->cn){
					$this->cn = null;
					throw new Exception("Error En La Conexión Con El Servidor.");
				}
				$db=mysql_select_db("colegio",$this->cn);
				if(!$db){
					mysql_close($this->cn);
					$this->cn = null;
					throw new Exception("Base De Datos No Existe.");
				}
			}catch(Exception $e){
				error_log($e->getMessage()."\n\n",3,"../Log/Error.log");
				throw $e;
			}
		}
		public function executeQuery($consulta){
			try{
			$rs=mysql_query($consulta,$this->cn);
				if(mysql_error($this->cn)!=0){
					throw new Exception(mysql_error($this->cn));
				}
				$lista=array();
				while($row=mysql_fetch_assoc($rs)){
					$lista[]=$row;
				}
				mysql_free_result($rs);
				return $lista;
			}catch(Exception $e){
				error_log($e->getMessage()."\n\n",3,"../Log/Error.log");
				error_log("Query: $consulta\n\n",3,"../Log/Error.log");
				throw $e;
			}
		}
		//Metodo que ejecuta actualizacion(update,insert,delete)
public function ejecutarActualizacion($consulta){
try{
mysql_query($consulta,$this->cn);
if(mysql_errno($this->cn)!=0){
throw new Exception("Error al ejecutar $sql");
}
}
catch(Exception $ex){
error_log($ex->getMessage()."\n\n",3,"../log/Error.log");
throw $ex; //Disparamos el error hacia otro nivel
} //fin del catch
}  //fin del metodo

	}
?>


me sale este error al logearme :

Fatal error: Call to a member function executeQuery() on a non-object in C:\xampp\htdocs\clase10\model\loginmodel.php on line 9
  #2 (permalink)  
Antiguo 25/04/2014, 11:46
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Error al ejecutar funcion

Justo antes de eso haz:

Cita:
var_dump($gestion);
Aparentemente tu singelton fallo.... y no hay objeto devuelto
__________________
Salu2!
  #3 (permalink)  
Antiguo 25/04/2014, 13:47
 
Fecha de Ingreso: junio-2012
Mensajes: 44
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Error al ejecutar funcion

justo antes de que amigo?' xfa ayudame
  #4 (permalink)  
Antiguo 25/04/2014, 16:51
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Error al ejecutar funcion

Antes del error, o sea despues de

Cita:
$gestion=Gestion::getInstancia();
Debes tratar de seguir el error.....
__________________
Salu2!
  #5 (permalink)  
Antiguo 30/04/2014, 08:43
 
Fecha de Ingreso: junio-2012
Mensajes: 44
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Error al ejecutar funcion

me sale NULL
  #6 (permalink)  
Antiguo 30/04/2014, 12:07
 
Fecha de Ingreso: junio-2012
Mensajes: 44
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Error al ejecutar funcion

ayudaaaaaaaaaaa
  #7 (permalink)  
Antiguo 30/04/2014, 12:35
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Error al ejecutar funcion

La clase Gestion implementa el anti-patron Singleton..... que debe devolver una y solo una instancia (objeto) de esa clase.

No te esta funcionando....... no te esta devolviendo nada

A la nada (NULL) no le puedes aplicar metodos y obtener resultados.
__________________
Salu2!
  #8 (permalink)  
Antiguo 30/04/2014, 14:00
 
Fecha de Ingreso: junio-2012
Mensajes: 44
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Error al ejecutar funcion

tio me dices que esta mal pero no me das una ayuda o solucion
  #9 (permalink)  
Antiguo 30/04/2014, 14:25
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Error al ejecutar funcion

Y esperas que con esa actitud recibas ayuda? lo que hay que ver en estos tiempos

Lo que @Italico76 te dice es que tu clase Gestion está mal construida, por esa razón no funciona.

Cual es tu error? no estás retornando la instancia

Código PHP:
Ver original
  1. //return self::$instancia;

Esa simple linea de código hace que no te funciona nada, descomentala en el método getInstancia y cuéntanos si funciona o no.

Slaudos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #10 (permalink)  
Antiguo 02/05/2014, 07:30
 
Fecha de Ingreso: junio-2012
Mensajes: 44
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Error al ejecutar funcion

object(Gestion)#2 (1) { ["cn"]=> resource(5) of type (mysql link) }
Notice: Undefined index: Clave in C:\xampp\htdocs\clase10\model\loginmodel.php on line 15

Fatal error: Call to undefined method LoginModel::ValidarAlumno() in C:\xampp\htdocs\clase10\controller\logincontroller .php on line 12

disculpa amigo x tanta molestia, hice lo que me dijiste ahora me sale esto
  #11 (permalink)  
Antiguo 02/05/2014, 11:14
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Error al ejecutar funcion

Pues ya lo que tienes es un asunto de validar datos, no puedes pretender de que siempre van a ingresar los datos correctos, primero debes de verificar que la consulta te retorne datos antes de ponerte a comparar si la clave existe.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.

Etiquetas: funcion, mysql, select, sql
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 13:42.