db->query($last-6ren">
gpt4 book ai didi

php - stdClass 类的对象无法转换为字符串

转载 作者:行者123 更新时间:2023-11-29 04:39:58 27 4
gpt4 key购买 nike

我正在使用这段代码插入

$last_id = "SELECT max(id) as id from clients ";
$client_id = $this->db->query($last_id)->row();
$client_last = $client_id->id;
$data = array();
for($i=0; $i<count($res); $i++)
{
$data['user_id'] = $res[$i];
$data['client_id']=$client_last;
$this->db->insert("notifications", $data);
}

数组 $res 返回值 user_ids,如下所示:

 Array
(
[0] => stdClass Object
(
[id] => 5
)

[1] => stdClass Object
(
[id] => 6
)

[2] => stdClass Object
(
[id] => 7
)

)

变量 $client_last 返回单个值,如 590 之类的东西。

在这种情况下,我想在表通知中插入三行,插入 $res 数组的值和 $client_last 的相同值针对 $ 的每个值资源数组。但在这种情况下,我收到数据库错误消息:

Message: Object of class stdClass could not be converted to string

当我使用 $this->db->last_qery(); 打印最后一个查询时它显示了这样的东西

INSERT INTO `notifications` (`user_id`, `client_id`) VALUES (, '90')

说sql错误。

最佳答案

我认为你的问题出在这一行:

$data['user_id'] = $res[$i];

你应该把它改成:

  $data['user_id'] = $res[$i]->id;

因为id的值在数组$res中存储的对象中

代码:

for($i=0; $i<count($res); $i++)
{
$data['user_id'] = $res[$i]->id;
$data['client_id'] = $client_last;
$this->db->insert("notifications", $data);
}

关于php - stdClass 类的对象无法转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31774037/

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