我在CI中的MySQL语法有问题,这是我的表
id_data | nama_depan | nama_belakang | gender | luas_lantai | jenis_lantai
| status
我已经尝试过以下代码并显示错误
消息:无法将类CI_DB_mysqli_result的对象转换为 诠释
public function getStatus1($status){
$str = "SELECT count(status)
FROM data_latih WHERE status = 1 ";
$str1 = "SELECT count(status)
FROM data_latih ";
$query = $this->db->query($str);
$query1 = $this->db->query($str1);
return $query / $query1;
}
预期输出是计数状态的十进制数= 1除以所有行的计数
编辑:找到了答案,非常感谢我是编程方面的新手,请忍受我:)))
答案 0 :(得分:2)
您实际上可以通过一个查询来处理此问题:
SELECT
SUM(status = 1) / COUNT(status) AS result
FROM data_latih;
关于您的PHP代码,我建议为各种计数分配别名,然后访问这些别名。
$sql = "SELECT SUM(status = 1) / COUNT(status) AS result FROM data_latih";
$result = $this->db->query($sql);
if ($row = $result->fetch_array()) {
echo $row['result'];
}
答案 1 :(得分:2)
问题是您试图将对象除以没有任何意义的对象,请尝试使用这种CI方式,
public function getStatus1($status){
$this->db->count_all_results('data_latih ');
$this->db->where('status ', '1');
$this->db->from('data_latih ');
$result1 = (float)$this->db->count_all_results();
$result2 = (float)$this->db->count_all('data_latih');
return $result1 / $result2 ;
}