【发布时间】:2022-01-13 04:34:26
【问题描述】:
如何在sql中输入多行数据。我的代码只输入第一组数据
控制器页面:
public function all_report(){
if($this->input->post('save'))
{
$machine_name = $this->input->post('device_type');
$jdata = json_decode($this->input->post('my_data'));
$response=$this->post_model->savedata($jdata, $machine_name);
if($response==true){
$message = "Data import Successfully";
echo "<script>alert('$message');</script>";
}
else{
$message = "Data import Fail";
echo "<script>alert('$message');</script>";
}
}
模型页面:
function savedata($jdata, $machine_name)
{
if($machine_name=="machine1"){
$adata = array($jdata);
$this->db->insert_batch('table1',$adata);
return true;
}
检索到的数据,但只有第一组数据插入到 sql 中。据我了解,insert_batch 必须在数组中,这就是我排列 json 数据的原因
【问题讨论】:
-
我不确定我是否遵循。
$jdata不是已经是一个数组了吗?为什么要把它包装成另一个数组$adata? -
我可能会感到困惑,因为我尝试了
$this->db->insert('display_da_silo3',$jdata);,但结果只是插入第一组数据...更改为 insert_batch 会导致错误,因此数组为$adata -
因为它是一个 JSON 对象,您可能需要使用
json_decode()。使用foreach循环并一一添加或在insert_batch之前添加检查数据有效性 -
@AbdullaNilam 感谢您告诉我验证数据只是发现了我自己的问题..有时我们犯了一些愚蠢的错误嗯?呵呵
标签: php json codeigniter