gpt4 book ai didi

php - 使用 Codeigniter 接收单一结果

转载 作者:行者123 更新时间:2023-11-29 02:24:26 24 4
gpt4 key购买 nike

我的模型查询:

    public function getWorkDays ($id, $month){
$query = $this->db->query("SELECT count(DISTINCT (day)) FROM hours WHERE userid = ? AND month = ?", array($id, $month));
$row = $query->result();
return $row[0];
}

我的看法:

    <p>Total Days: <?php echo var_dump($workDays); ?></p>

错误:

Total Days: object(stdClass)#35 (1) { ["count(DISTINCT (day))"]=> string(1) "9" }

9 应该是一个正确的值,但我无法通过简单的结果回显得到它。我也很感兴趣为什么我在结果 obj (["count(DISTINCT (day))"]) 中有一部分查询。

我不想使用事件记录查询应该保持原样。

最佳答案

问题是,CodeIgniter 默认会返回一个 StdClass 对象而不是一个数组,所以如果你想使用 return $row[0];,你需要使用一个数组返回功能。

来自 CodeIgniter's Documentation :

使用result_array()

该函数以纯数组的形式返回查询结果,没有结果时返回空数组。通常,您将在 foreach 循环中使用它,如下所示:

$query = $this->db->query("YOUR QUERY");

foreach ($query->result_array() as $row)
{
echo $row['title'];
echo $row['name'];
echo $row['body'];
}

你可以这样做:

public function getWorkDays ($id, $month){
$query = $this->db->query("SELECT count(DISTINCT day) as workDays FROM hours WHERE userid = ? AND month = ?", array($id, $month));
$row = $query->result_array();
return $row[0];
}

你还说你想要一个单一的结果,这样做对你来说甚至更容易:

public function getWorkDays ($id, $month){
$query = $this->db->query("SELECT count(DISTINCT day) as workDays FROM hours WHERE userid = ? AND month = ?", array($id, $month));
return $query->row_array();
}

编辑:

这是你的简单 echo ......

public function getWorkDays ($id, $month){
$query = $this->db->query("SELECT count(DISTINCT day) as workDays FROM hours WHERE userid = ? AND month = ?", array($id, $month));
$row = $query->row_array();
return $row['workDays'];
}

关于php - 使用 Codeigniter 接收单一结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25392152/

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