Php 获取一个帐户中使用的GB数量时出错

Php 获取一个帐户中使用的GB数量时出错,php,Php,当我在我的网站上传视频时,它的大小会保存在数据库中。 然后,我使用这些函数获取所用帐户中剩余的gygabites数量 public static function Capacidad($user){ $sql = "SELECT tipocuenta.id, tipocuenta.capacidad FROM tipocuenta, canal WHERE tipocuenta.id = canal.id_tipocuenta AND canal.id = '$user'

当我在我的网站上传视频时,它的大小会保存在数据库中。 然后,我使用这些函数获取所用帐户中剩余的gygabites数量

    public static function Capacidad($user){
        $sql = "SELECT tipocuenta.id, tipocuenta.capacidad FROM tipocuenta, canal WHERE tipocuenta.id = canal.id_tipocuenta AND canal.id = '$user'";
        $resultado = self::Conexion($sql);

        if(isset($resultado)){ $datos = $resultado->fetch(); }

        $capacidad = $datos["capacidad"];

        return $capacidad;
    }

    public static function CapacidadUsada($user){
        $sql = "SELECT sum(tamaño) FROM video WHERE usuario_id = '$user'";
        $resultado = self::Conexion($sql);
        return $resultado;
    }

    public static function CapacidadUsadaGB(){
        $capacidad_total = Database::Capacidad($_SESSION["usuario"]);
        $capacidad_usada = Database::CapacidadUsada($_SESSION["usuario"]);

        $capacidad_usadaGB = number_format($capacidad_usada / 1073741824, 2)."GB";

        return $capacidad_usadaGB;
    }
我得到了用户可以使用的GB量和用户上传视频时使用的GB量。 但是它不起作用。。。 它向我显示了以下错误:

Notice: Object of class PDOStatement could not be converted to int

函数
CapacidadUsada()
返回一个结果集,而不是一个数字。这就是为什么行
number\u格式($capacidad\u usada/1073741824,2)
会抛出错误

更新
CapacidadUsada()
函数以返回一个数字,就像
Capacidad()


比较函数
Capacidad()
CapacidadUsada()
如何处理数据库。首先,通过对结果调用
fetch()。在第二个函数中,您忘记了这样做,因此返回的是PDO语句,而不是实际值。您也可以从错误消息中收集到这些信息。;)(另外,我必须说,用外语阅读代码真的很难……即使它仍然是PHP。非常令人分心。用英语编写代码是一种很好的做法,这样其他开发人员就可以理解。)有一件事,转换到GB的转换做得好吗?为了确保正确,用
$capacidad_usada/(1024*1024*1024)替换它
public static function CapacidadUsada($user){
    $sql = "SELECT sum(tamaño) AS usada FROM video WHERE usuario_id = '$user'";
    $resultado = self::Conexion($sql);

    if(empty($resultado)) 
        throw new Exception('Error retrieving usage.');
    $datos = $resultado->fetch();

    return $datos['usada'];
}