php类里面的变量

时间:2014-09-18 19:20:57

标签: php

我不是一个经验丰富的程序员,我试图理解我在创建的课程中遇到的问题。

我在A类中有一个私有变量,这个私有变量将查询结果存储到mysql db,并通过A类中的公共函数访问该变量。

我的目标是通过公共函数回显私有变量的值。我的问题是这个私有变量在存储查询结果时在类中转换。

这里是私有变量的var_dump

object(stdClass)#4 (1) { 
    ["count(*)"]=> string(1) "8" 
} 

我真的很困惑如何回应数字“8”

我试着这样做:

echo $this->private

但正如预期的那样php并不像那样工作并告诉我这个:

"Object of class stdClass could not be converted to string"

有人能指出我正确的方向吗?

这是代码:

class Quiz {

    private $db;
    private $query;
    private $questions;
    private $answers;
    private $total;

    public function __construct(){
        $this->db = new connection();
        $this->db = $this->db->dbConnection();      
    }

    public function NumRows ($quiz) {
        $this->query = $this->db->prepare("Select count(*) FROM ".$quiz."");
        $this->query->execute();
        $this->total = $this->query->fetchObject();
        var_dump($this->total);
        echo $this->total;
    }


}


$quiz = new Quiz();
$quiz->NumRows("01_ospf");

1 个答案:

答案 0 :(得分:3)

$this->private是一个对象,因此您需要访问该属性。该属性名为count(*)。所以使用这个:

echo $this->private->{"count(*)"};

您应该为该列添加别名,这样您就不必使用这种复杂的语法。例如。如果你这样做:

SELECT COUNT(*) AS count ...

然后你可以写:

echo $this->private->count;