Bueno, tras un par de horas perdidas, ya he dado con el error y como suponía, no estaba en la clase que ya había revisado 7 millones de veces.
El fallo estaba en este metodo:
Código PHP:
//Retorna una variable check de control (de momento)
public function coger($id, $control) {
$check = 0;
if(!$this->isBloqueado) {
$this->basedatos->Conectar();
$res = $this->basedatos->Consultar("SELECT * FROM usuarios WHERE id = '$id'");
if($this->basedatos->numFilas($res) > 0) {
$datos=$this->basedatos->getArray($res);
//operamos
}
//Cerramos la conexion
$this->basedatos->Cerrar();
}else {
$check =0;
}
return $check ;
}
El metodo Cerrar() parece que no puede ir ahí (aunque no se porqué). En cambio, si lo muevo dentro del otro if:
Código PHP:
public function coger($id, $control) {
$check = 0;
if(!$this->isBloqueado) {
$this->basedatos->Conectar();
$res = $this->basedatos->Consultar("SELECT * FROM usuarios WHERE id = '$id'");
//Cerramos la conexion
$this->basedatos->Cerrar();
if($this->basedatos->numFilas($res) > 0) {
$datos=$this->basedatos->getArray($res);
//operamos
}
}else {
$check =0;
}
return $check ;
}
Funciona a la perfeccion. De momento me sirve para seguir programando, pero vamos, es una locura que no entiendo para nada.
saludos
offtopic:
Sabéis de un buen debug para Netbeans 6.8 y wamp para windows para evitar estas tonterías de nuevo? he probado x-debug pero no tira bien en wamp..