【发布时间】:2017-09-02 18:37:40
【问题描述】:
我只是在学习 PHP 并使用 Codeigniter 框架。
插入新数据时,我在控制器中使用此代码并且它正在工作。
//INSERT MULTI ROWS TABEL harga_inventori
$kode_inventori = $_POST['kode_inventori'];
$result = array();
foreach($_POST['kode_kategori_pelanggan'] AS $key => $val){
$result[] = array(
"kode_kategori_pelanggan" => $_POST['kode_kategori_pelanggan'][$key],
"kode_inventori"=>$kode_inventori,
"harga" => $_POST['harga_jual'][$key],
"diskon" => $_POST['diskon'][$key]
);
}
$res = $this->db->insert_batch('harga_inventori', $result);
redirect("inventori");
但是当我对更新功能使用相同的模式时,它根本不起作用。
for($i = 0; $i < count($_POST['harga_jual'][$i]); $i++) {
if($_POST['kode_kategori_pelanggan'][$i] != '') {
$res[] = array(
'harga' => $_POST['harga_jual'][$i],
'diskon' => $_POST['diskon'][$i],
);
$this->db->where('kode_inventori',$_POST['kode_inventori']);
$this->db->where('kode_kategori_pelanggan',$_POST['kode_kategori_pelanggan'][$i]);
$this->db->update('harga_inventori',$res);
}
}
redirect("inventori");
我正在尝试update_batch(),但我遇到了很多错误,所以我使用for 循环并一次更新一行。
这可能是什么问题?
【问题讨论】:
-
$res!==$data -
查询中的
[update_batch](https://www.codeigniter.com/user_guide/database/query_builder.html?highlight=update_batch#CI_DB_query_builder::update_batch)' you can't usewhere`。您只需要在第三个参数中传递列名,并且该名称参数应该存在于更新数组中。 -
@RiggsFolly ,仍然无法正常工作。我已经改了
标签: php html mysql codeigniter