当前位置: 首页 > 知识库问答 >
问题:

在“字段列表”中插入批次代码监视器未知列“数组”

岳佐
2023-03-14

我是词的初学者。我在CodeIgniter中的insert_批处理函数中遇到错误。当我将数组插入insert_批处理时,我得到了这个错误

未知的列数组在字段列表和数组到字符串转换我已经做了很多解决方案,但仍然得到这个错误,有人能给我一个想法吗?

在我看来

<input type="text" name="companionship[]"> and so forth.

控制器

public function addstatistics()
{   
     $i =0;       
     foreach($_POST['companionship_id'] as $companionship_id):
        $value1[$i++] = array(
            'companionship_id'=>    $companionship_id
        );
     endforeach;

     foreach($_POST['zone_id'] as $zone_id):
            $value2[$i++] = array(
                    'zone_id'=> $zone_id
            );
     endforeach;

     foreach($_POST['district_id'] as $district_id):
            $value3[$i++] = array(
                'district_id'=> $district_id
            );
     endforeach;

     foreach($_POST['area_id'] as $area_id):
            $value4[$i++] = array(
                'area_id'=> $area_id
            );
     endforeach;

     foreach($_POST['baptism'] as $baptism):
            $value5[$i++] = array(
                'baptism'=> $baptism
            );
     endforeach;

     foreach($_POST['confirm'] as $confirm):
            $value6[$i++] = array(
                'confirm'=> $confirm
            );
     endforeach;

     foreach($_POST['ibd'] as $ibd):
            $value7[$i++] = array(
                'ibd'=> $ibd
            );
     endforeach;

     foreach($_POST['iasm'] as $iasm):
            $value8[$i++] = array(
                'iasm'=>$iasm
            );
     endforeach;

     foreach($_POST['ni'] as $ni):
            $value9[$i++] = array(
                'ni'=>$ni
            );
     endforeach;

     foreach($_POST['ph'] as $ph):
            $value10[$i++] = array(
                'ph'=>$ph
            );
     endforeach;

     foreach($_POST['wh'] as $wh):
        $value11[$i++] = array(
            'wh'=>$wh
        );
     endforeach;

   $this->my_model->addstatistics($value1,$value2,$value3,$value4, $value5,$value6,$value7,$value8,$value9,$value10,$value11);
 }   

模型函数

addstatistics($value1,$value2,$value3,$value4,$value5, $value6,$value7,$value8,$value9,$value10,$value11)
{
      $data = array(
                'companionship_id'  => $value1,
                'zone_id'           => $value2,
                'district_id'       => $value3,
                'area_id'           => $value4,
                'baptism'           => $value5,
                'confirm'           => $value6,
                'ibd'               => $value7,
                'iasm'              => $value8,
                'ni'                => $value9,
                'ph'                => $value10,
                'wh'                => $value11

           );

           $row = array();
           $columns = array();
           for($x=0; $x<count($data); $x++)
           {
                $row = array(
                    'companionship_id'=> $value1,
                    'zone_id'=> $value2,
                    'district_id'=> $value3,
                    'area_id'=> $value4,
                    'baptism'=> $value5,
                    'confirm'=> $value6,
                    'ibd'=> $value7,
                    'iasm'=> $value8,
                    'ni'=> $value9,
                    'ph'=> $value10,
                    'wh'=> $value11,
                    'year'=> date('Y'),
                    'month'=> date('M'),
                    'week' => weekdate(),
                 'created_by'=> $this->session->userdata('login_id')

           );
           array_push($columns, $row);
           $rows = array();
         }
          //printA($columns);

         $query= $this->db->insert_batch('monthly_statistics', $columns);
 }

谁能告诉我如何解决这个问题?

共有2个答案

章德惠
2023-03-14

经过几个小时的思考,我已经修复了错误,现在它运行良好

这是密码

public function mymethod()
    {



        $companionship_id = $this->input->post('companionship_id[]');
        $zone_id = $this->input->post('zone_id[]');
        $district_id = $this->input->post('district_id[]');
        $area_id = $this->input->post('area_id[]');
        $baptism = $this->input->post('baptism[]');
        $confirm = $this->input->post('confirm[]');
        $ibd = $this->input->post('ibd[]');
        $iasm = $this->input->post('iasm[]');
        $ni = $this->input->post('ni[]');
        $ph = $this->input->post('ph[]');
        $wh = $this->input->post('wh[]');

        $value = array();
        for($i=0; $i<count($companionship_id); $i++)
        {
            $value[$i] = array(
                'companionship_id'  =>      $companionship_id[$i],
                'zone_id'           =>      $zone_id[$i],
                'district_id'       =>      $district_id[$i],
                'area_id'           =>      $area_id[$i],
                'baptism'           =>      $baptism[$i],
                'confirm'           =>      $confirm[$i],
                'ibd'               =>      $ibd[$i],
                'iasm'              =>      $iasm[$i],
                'ni'                =>      $ni[$i],
                'ph'                =>      $ph[$i],
                'wh'                =>      $wh[$i]

            );
        }

        $this->db->insert_batch('monthly_statistics',$value);


        $this->session->set_flashdata("success",alert("alert-success","Successfully Inserted"));
        redirect(base_url('to_url'));
        exit();
    }
司马俊晖
2023-03-14

试试这个。

public function addstatistics($value1,$value2,$value3,$value4,$value5, $value6,$value7,$value8,$value9,$value10,$value11)
{
      $data = array(
                'companionship_id'  => $value1,
                'zone_id'           => $value2,
                'district_id'       => $value3,
                'area_id'           => $value4,
                'baptism'           => $value5,
                'confirm'           => $value6,
                'ibd'               => $value7,
                'iasm'              => $value8,
                'ni'                => $value9,
                'ph'                => $value10,
                'wh'                => $value11

           );

           $row = array();
           $columns = array();
           for($x=0; $x<count($data); $x++)
           {
                $row = array(
                    'companionship_id'=> $data['companionship_id'][$x]['companionship_id'],
                    'zone_id'=> $data['zone_id'][$x]['zone_id'],
                    'district_id'=> $data['district_id'][$x]['district_id'],
                    'area_id'=> $data['area_id'][$x]['area_id'],
                    'baptism'=> $data['baptism'][$x]['baptism'],
                    'confirm'=> $data['confirm'][$x]['confirm'],
                    'ibd'=> $data['ibd'][$x]['ibd'],
                    'iasm'=> $data['iasm'][$x]['iasm'],
                    'ni'=> $data['ni'][$x]['ni'],
                    'ph'=> $data['ph'][$x]['ph'],
                    'wh'=> $data['wh'][$x]['wh'],
                    'year'=> date('Y'),
                    'month'=> date('M'),
                    'week' => weekdate(),
                 'created_by'=> $this->session->userdata('login_id')

           );
           array_push($columns, $row);
           $rows = array();
         }
          //printA($columns);

         $query= $this->db->insert_batch('monthly_statistics', $columns);
 }
 类似资料:
  • 问题内容: 错误:ER_BAD_FIELD_ERROR:“字段列表”中的未知列“ 2525”对于CONVERSATION_ID和FC_CONTACTNAME而言,字段均为varchar(32),对于其他2个字段均为int。 此查询出了什么问题?我什至放回了句号,它认为变量是一列… 编辑: 如果我的查询就是这样,那么它可以工作: 问题答案: 制作 到 最有可能是字符串,数据类型是varchar,因此

  • 所以首先我为我不可靠的解释道歉。我的PHP技能需要认真改进。 错误消息表示“”未知。我知道这不是真的,因为当我创建一个名为“”的变量并回显前者时,我会得到编号。 以下是完整的错误消息: 致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[42S22]:未找到列:C:\xampp\htdocs\loginregister master\addnew中的“字段列表”中的1054

  • 我需要帮助。 使用方法时,在HQL中出现错误: 我猜他必须写而不是 可能是我做错了实体和关系吗? 2个实体-房屋和街道 ER模型: 餐桌街道 ID 名称 houses_id 桌房 ID 名称 我的类: 街道 房屋 我的道小鬼: StreetDaoImp: HouseDaoImpl: 错误:

  • 即使我在表中设置了关系和定义了外键,我得到这个错误的原因是什么?

  • 问题内容: 我需要帮助。 当我使用方法时,我在HQL中有错误: 我猜他一定要写代替 可能是我做错了实体和关系吗? 2个实体-房屋和街道 ER-model: Table Streets ID Name Houses_id Table Houses ID name My Classes: Street House My DAOIMP: StreetDAOImp: HouseDAOImpl: 错误: 问

  • 问题内容: 我试图将值添加到phpmyadmin中的表中,但出现错误:“字段列表”中的未知列“ …”。 这是我的代码: 因此,当我在上一页的表单中输入fds作为名称时,我得到:“字段列表”中的未知列“ fds”。这以前从未发生过,我也不知道发生了什么。 问题答案: 我认为这 应该