1º) Revisa tu php.ini, y activa el error_reporting y el display_errors mientras estés desarrollando para saber que errores te arroja.
2º) Cerciórate de que los nombres de la base de datos y las tablas y columnas estén correctos.
3º) ¿Utilizas PDO en tu clase?
3ºb) Si utilizas prepared statements, ¿porque construyes la query directamente?
Seria más sencillo utilizar
Código PHP:
Ver original$id=$usuari->obtenerID($_SESSION["USUARI"]);
y luego pasar por parámetro
Código PHP:
Ver originalpublic function obtenerID($email){
$consulta="select id from usuaris where email= :email AND valid='1'";
$conect = new BaseDatos(); //Conecta ala base de datos
$st = $conect->prepare($consulta);
$st->bindParam(":email", $email);
$ex= $st->execute();
if (!$ex) return "Error"; //No debería ser así. Mejor una Excepción aqui.
$row = $sql->fetch(PDO::FETCH_ASSOC));
return $row["id"];
}
Al método no le interesa de dónde vienen los datos.