Foros del Web » Programando para Internet » PHP »

Problema con class

Estas en el tema de Problema con class en el foro de PHP en Foros del Web. Hola gente... Tengo una duda con una clase que estoy haciendo en PHP 4, la parte del codigo es esta: Código: class clase{ var $id_q; ...
  #1 (permalink)  
Antiguo 31/10/2005, 15:06
Avatar de Tx
Tx
 
Fecha de Ingreso: enero-2002
Ubicación: Cba - Arg
Mensajes: 188
Antigüedad: 22 años, 10 meses
Puntos: 1
Problema con class

Hola gente...

Tengo una duda con una clase que estoy haciendo en PHP 4, la parte del codigo es esta:

Código:
class clase{
var $id_q;
var $id_con
..............
.............
	function consultar($SQL = ""){
		$res = @mysql_query($SQL, $this->id_con);
		$this->id_q = $res;
		if(!$res){
			die('Error en la consulta SQL.');
		}
		return $res;
	}
}
La consulta se realiza correctamente, pero siempre me devuelve $res = FALSE, porque? que hago mal?

Muchas gracias...

Aclaracion: en realidad me devuelve FALSE, cuando hago un INSERT, con el SELECT todo esta bien.

Última edición por Tx; 31/10/2005 a las 16:43
  #2 (permalink)  
Antiguo 31/10/2005, 19:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Bueno .. deberías ver concretamente más que de problemas con tu classe/método sobre como funcionan las funciones de Mysql que usas. En principo devuelven TRUE si se ejecutó correctamente. De todas formas verificalo en:

www.php.net/mysql_query

Por lo demás, usas un @ delante de las funciones .. eso te irá bien cuando dejes en producción esa classe .. pero en desarrollo necesitas ver cualquier posible error que se produzca y .. con eso no los veras ni tampoco los obtines textualmente (podrías usar mysql_error() en un modo "debug" .. te irá bien)

Un saludo,
  #3 (permalink)  
Antiguo 01/11/2005, 12:44
Avatar de Tx
Tx
 
Fecha de Ingreso: enero-2002
Ubicación: Cba - Arg
Mensajes: 188
Antigüedad: 22 años, 10 meses
Puntos: 1
Hola Cluster, gracias por contestar..

Claro, si uso el @ no me devuelve errores, el tema es que ya se lo habia puesto, porque estaba con los SELECT's, y todo funciona de maravillas, pero al empezar con los UPDATE's me aparecio esto, si se lo saco, tampoco genera errores como habia comentado, el INSERT lo hace correctamente; el problema es que la variable $id_q de la clase no mantiene su valor al momento de hacer esta condicion: if($this->id_q){, devolviendome siempre FALSE asi se haya echo correctamente.

Por otro lado, la variable $id_con de la clase si mantiene su valor, llegue a pensar en que era alguna palabra reservada, y modifique su nombre, pero no pasa nada.

Bueno, sigo buscando a ver cual es la causa, saludos...

PD: uso PHP4.3.11 sobre WinXP SP1 e IIS.
  #4 (permalink)  
Antiguo 01/11/2005, 14:31
Avatar de Tx
Tx
 
Fecha de Ingreso: enero-2002
Ubicación: Cba - Arg
Mensajes: 188
Antigüedad: 22 años, 10 meses
Puntos: 1
Bueno, hice una prueba mas y quede perplejo
Aqui instancio la clase e invoco sus metodos:

Código PHP:
01:    $res = new DBs();
02:    $res->conectar();
03:    $r $res->consultar($SQL);
04:    $res->close();
05:    if(!$r){
06:        echo "Hubo un problema...";
07:        die;
08:    }
09:    echo "\$r=".$r;die;
10:    exit(); 
En la linea 03, el metodo consultar me devuelve TRUE o FALSE, en la 05 pregunto y despues imprimo su valor.
Hasta aqui todo bien, ahora, si comento la linea 09 (donde imprimo el valor de $r), la condicion if(!$r){ se convierte en TRUE....o sea ahora imprime "Hubo un problema..."
Que pasa???, es la configuracion de mi PHP???, alguna pista?

Saludos...
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 22:30.