gpt4 book ai didi

php - Codeigniter 更新函数中的两个不同的表名

转载 作者:行者123 更新时间:2023-11-30 22:36:01 25 4
gpt4 key购买 nike

基本信息代码点火器:3,PHP 5

我目前正在玩一个更新查询的多表更新。我的SQL如下-

UPDATE users as a, u_basicinfos as b
SET
a.first_name = 'XYI',
b.Address = 'USA',
b.PortalURL = NULL
WHERE a.id = b.UserId AND b.InfosId = 1

以上查询绝对适用于 heidisqlphpmyadmin sql 控制台。

我正尝试在 codeigniter 中创建一个 active records 查询,如下所示-

$this->db->where('a.id = b.UserId');
$this->db->where('b.Infosid', $infoid);

$tblname = 'users AS a, u_basicinfos AS b';
// may be problem with this format of two tables name

$query = $this->db->update($tblname, $data);

注意:我在 Controller 中分配了 $data 数组:

$data = array (
'a.first_name' => $this->input->post('first_name'),
'b.Address' => $this->input->post('Address'),
'b.NewportalURL' => $this->input->post('PortalURL')
);

现在,我正在努力解决以下错误。

Table 'finalportal.users as a, u_basicinfos' doesn't exist

UPDATE `users AS a, u_basicinfos` AS `b` SET `a`.`first_name` = 'XYI',
`b`.`Address` = 'USA', `b`.`PortalURL` = NULL

我需要一些想法。让我知道我做错了什么?谢谢

最佳答案

尝试在查询中使用它

$this->db->where('b.Infosid', $infoid);
$tblname = 'users a JOIN u_basicinfos b on a.id = b.UserId';
$query = $this->db->update($tblname, $data);

关于php - Codeigniter 更新函数中的两个不同的表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32543133/

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