当前位置: 首页 > 面试题库 >

在Codeigniter中更新多行

左丘源
2023-03-14
问题内容

我可以在数据库中插入多行,但是问题是当我尝试更新它时,我收到一条Codeigniter错误消息。这是我的模型,实际上我没有什么重要的控制器可以找到错误,这是因为我只是在控制器中加载了该模型。

$data  = array();
//$todayDate = date('Y-m-d');
for($i = 1; $i < count($_POST['code']); $i++) {
    //$code=$_POST['code'][$i];
    if($_POST['code'][$i] != '') {
        $data[] = array(
            $code='code' => $_POST['code'][$i],
            'price' => $_POST['sell']
            );
    }
}
$linksCount = count($data);

if($linksCount) {
    $this->db->where('code',$code);
    $this->db->insert_batch('sell_rate', $data);
}

return $linksCount;

问题答案:

在您Model接下来的部分应该是

$data[] = array(
    $code='code' => $_POST['code'][$i],
    'price' => $_POST['sell']
);

替换为

$data[] = array(
    'code' => $_POST['code'][$i],
    'price' => $_POST['sell']
);

并更新您应该使用的值,update_batch而不是insert_batch

$this->db->update_batch('yourtableName', $data, 'code'); // 'code' is where key

替换yourtableName为原始表名,并将code其用作where键,因此您无需使用$this->db->where('code',$code)

参考:
CodeIgniter




 类似资料:
  • 问题内容: 我看到这对笨论坛 考虑以下代码 这显然是您在Codeigniter中这样做的方式 实际上这是行不通的。我看了一下生成的SQL,结果甚至没有提到联接。 有谁知道如何使用Codeigniter的Active Record数据库类对联接进行更新? 问题答案: 我发现的一种解决方案是完全删除联接并将联接条件移到“ where”函数中,此外,您还需要更改更新字符串以包括新表。

  • 问题内容: 如何在MySQL中更新多个值? 这不起作用: 问题答案: 您需要在两个不同的值之间添加一个逗号。例如:

  • 如何在ci merchant codeigniter库中接收更多响应数据? 我使用贝宝快捷结帐付款方式。 我将传递以下参数: 数组参数 现在我得到的回应如下 商户\u paypal\u api\u响应对象([\u状态:受保护]= 如何获取paypal id、发货地址、商品名称等数据以及paypal在DoExpressCheckoutPayment响应中返回的其他内容?

  • 我正在使用codeigniter框架创建一个RESTAPI。我从以下链接下载了代码:https://github.com/halimus/codeigniter-rest-api 现在在邮递员中,如果我把下面的网址与GET或POST方法,然后api正在运行:http://localhost/codeigniter-rest-api-master/api/users。但是如果我添加一个新功能"测试"

  • 问题内容: 我想使用单个元素上传多个文件。所以我尝试这个例子。 使用CodeIgniter2.0上传多个文件(数组) 这是我的表格 这是我的控制器 这是我的文件上传方法 但它给每一次。有什么问题 问题答案: 我根据@Denmark 更改上传方法。

  • 问题内容: 我遇到这样的情况,我想更新一些输入为复选框的数据,我在下面尝试了此代码。数据已保存在数据库中,但数据已保存在另一行中, 例如:我为BirdA选中了红色,黄色和灰色,同时为BirdD选中了黑色和蓝色。在数据库中,BirdA的颜色正确保存,但是第二只鸟的深色和蓝色保存在BirdB上( 应保存在BirdD上 ) 我想解决上面的问题,因此数据应保存在数据库中的正确位置。请在下面检查我的代码: