gpt4 book ai didi

php - 如何访问封装在 SQL 函数 count() 中的获取的对象属性?

转载 作者:搜寻专家 更新时间:2023-10-31 21:53:23 25 4
gpt4 key购买 nike

我有以下功能:

        public function count () {
global $db;
$query = "SELECT COUNT(post_id) FROM posts";
$result = $db->select($query);
return $result;
}

然后链接到另一个函数:

    public function select($query) {

$results = $this->connection->query($query);

while ($obj = $results->fetch_object()) {
$r[] = $obj;
}
if (!empty($r)) {
return $r;
} else {
return false;
}
}

输出是对象数组的形式。

通常我可以访问该对象的属性来获取结果。

$result[0]->属性

但在这种情况下,该属性被封装在函数 count() 中。我如何访问该属性?

我使用了一种变通方法,只需从查询中选择行数。但我仍然想知道如何通过 COUNT() 访问该属性。

        public function count () {
global $db;
$query = "SELECT * FROM posts";
$result = $db->initiate_query($query)->num_rows;
return $result;
}

public function initiate_query($query) {

$result = $this->connection->query($query);
return $result;
}

提前谢谢你,

罗伯特

最佳答案

首先尝试使用var_dump()在获取的对象上。那应该给你建议。我确实相信在大多数 DBMS 引擎中默认情况下它类似于 $object->count

第二个选项(我在我的代码中确实更喜欢)是在 COUNT()ed 字段上使用别名:

SELECT COUNT(post_id) as tmp_value FROM posts

那么您应该按照预定义的别名状态访问它:$object->tmp_value

最后你应该得到这样的东西:

public function count(){
global $db;
$query = "SELECT COUNT(post_id) as tmp FROM posts";
$result = $db->select($query);
return $result[0]->tmp;
}

关于php - 如何访问封装在 SQL 函数 count() 中的获取的对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36740279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com