我不是一个经验丰富的程序员,我试图理解我在创建的课程中遇到的问题。
我在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");
答案 0 :(得分:3)
$this->private
是一个对象,因此您需要访问该属性。该属性名为count(*)
。所以使用这个:
echo $this->private->{"count(*)"};
您应该为该列添加别名,这样您就不必使用这种复杂的语法。例如。如果你这样做:
SELECT COUNT(*) AS count ...
然后你可以写:
echo $this->private->count;