gpt4 book ai didi

php - 在 codeigniter 中添加两个不同的查询

转载 作者:行者123 更新时间:2023-11-29 13:31:25 25 4
gpt4 key购买 nike

我想添加两个查询,但它不起作用。这是我的

模型页面:

 public function updateTable(){

$first= $this->db->query("select column1 from table where table_id='data1' AND
field_id=6"); // Data type is numeric. When I query this, result is 0.0

$second= $this->db->query("select column1 from table where table_id='data2' AND
field_id=6"); // Data type is numeric also. When I query this, result is 0.0 also

$total=$first+$second;

}

当我尝试运行它时,我收到一条错误消息

Message: Object of class CI_DB_postgre_result could not be converted to int

我怎样才能做到这一点或者这可能吗?

编辑:新信息

我想将这个 $total 用于 if 语句。

 if ($total==0){
//code here
}

我该怎么办?

最佳答案

让我们看看 CI 用户指南中的第一个示例:http://ellislab.com/codeigniter/user-guide/database/results.html

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

foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->body;
}

我们学到两件事:

  1. $this->db->query("YOUR QUERY") 不返回结果,$query->result() 返回结果。
  2. 结果是一个对象数组。对象名称是列名称。

如果您确定每个查询只返回一个结果。您可以这样更改代码:

$first=  $this->db->query("select column1 from table where table_id='data1' AND 
field_id=6")->result()[0]->column1;

$second= $this->db->query("select column1 from table where table_id='data2' AND
field_id=6")->result()[0]->column1;

===== 答案已修改如下 =====

分析正确但是上面的代码抛出错误,因为php把result()[0]当成一个整体。

你可以把它们分开

$row = $this->db->query("select column1 from table where table_id='data1' AND 
field_id=6")->result();
$first = $row[0]->column1;

或使用 current功能

  $first=  current($this->db->query("select column1 from table where table_id='data1' AND 
field_id=6")->result())->column1;

关于php - 在 codeigniter 中添加两个不同的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22221987/

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