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

插入批次错误代码点火器3.1。4.

施辉
2023-03-14

严重性:注意消息:数组到字符串转换文件名:数据库/DB\u查询\u生成器。php行号:1539回溯:文件:D:\xampp\htdocs\visio\application\models\projectmodel。php行:56函数:插入批处理

错误号码:1064

您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解第1行“Array”附近使用的正确语法

插入到paymentsize()值('8')、('2017-06-07')、('Residential')、('L')、('120')、('200')、('10000')、('15000')、('30')、('12000')、('40')、('1000')、('60')、('125000')、('10')、('10000')、('15000')、('20000')、数组中

文件名:D:/xampp/htdocs/visio/system/database/DB\u驱动程序。php

电话号码:691

我的控制器是:

public function store_payment()
{
    $post = array();
        $post = $this->input->post(NULL,TRUE);
        $count=count($this->input->post('pro_id'));
        echo CI_VERSION;

        for($i = 0; $i < $count; $i++){
            $post []= array(
                'pro_id'        => $post['pro_id'][$i],
                'date_add'      => $post['date_add'][$i], 
                'category'      => $post['category'][$i], 
                'type'          => $post['type'][$i], 
                'size'          => $post['size'][$i], 
                'counts'        => $post['counts'][$i], 
                'booking'       => $post['booking'][$i], 
                'confirmation'  => $post['confirmation'][$i], 
                'confirm_days'  => $post['confirm_days'][$i], 
                'allocation'    => $post['allocation'][$i], 
                'allocate_days' => $post['allocate_days'][$i], 
                'm_installment' => $post['m_installment'][$i], 
                'month'         => $post['month'][$i], 
                'y_instalment'  => $post['y_instalment'][$i], 
                'halfyear'      => $post['halfyear'][$i], 
                'leveling'      => $post['leveling'][$i], 
                'demarcation'   => $post['demarcation'][$i], 
                'possession'    => $post['possession'][$i]
                );
        }
    $this->projects->add_payment($post);
}

我的模型是:

public function add_payment($array)
{
     // echo "<pre>";
     // print_r($array);
     // exit();
     return $this->db->insert_batch('paymentsize',$array);
     
}

我的观点是:

<tbody>
          <input type="hidden" name="pro_id[]"  value="<?= $project->pro_id; ?>" >
          <tr>
          <td width="14%">
            <div class="col-lg-10">
              <div class="form-group form-black label-floating is-empty">
                <label class="control-label" style="margin-top: -10px;">Date</label>
                  <input type="date" name="date_add[]" value="<?php echo date('Y-m-d'); ?>" class="form-control" >
                <span class="material-input"></span>
              </div>
              </div>
          </td>
           <td width="14%">
            <div class="col-lg-10">
                <div class="form-group form-black label-floating is-empty">
                  <label class="control-label">Plot Category</label>
                    <select name="category[]" class="form-control">
                      <option> </option>
                      <option>Residential</option>
                      <option>Commercial</option>
                    </select>
                  <span class="material-input"></span>
                </div>
              </div>
           </td>
           <td>

如果我使用print_r它显示所有数组元素与各自的值...但它不是插入在DB表...前进...

共有2个答案

郑宏朗
2023-03-14

您使用$post有两个目的,请按以下代码更改控制器代码:

public function store_payment()
{
    $post = $this->input->post(NULL,TRUE);
    $count=count($this->input->post('pro_id'));
    echo CI_VERSION;

    $data = array();
    for($i = 0; $i < $count; $i++){
        $data []= array(
            'pro_id'        => $post['pro_id'][$i],
            'date_add'      => $post['date_add'][$i], 
            'category'      => $post['category'][$i], 
            'type'          => $post['type'][$i], 
            'size'          => $post['size'][$i], 
            'counts'        => $post['counts'][$i], 
            'booking'       => $post['booking'][$i], 
            'confirmation'  => $post['confirmation'][$i], 
            'confirm_days'  => $post['confirm_days'][$i], 
            'allocation'    => $post['allocation'][$i], 
            'allocate_days' => $post['allocate_days'][$i], 
            'm_installment' => $post['m_installment'][$i], 
            'month'         => $post['month'][$i], 
            'y_instalment'  => $post['y_instalment'][$i], 
            'halfyear'      => $post['halfyear'][$i], 
            'leveling'      => $post['leveling'][$i], 
            'demarcation'   => $post['demarcation'][$i], 
            'possession'    => $post['possession'][$i]
            );
    }
    $this->projects->add_payment($data);
}
万俟鸿波
2023-03-14

更改您的控制器如下代码,

public function store_payment()
{
    $post = array();
        $post = $this->input->post(NULL,TRUE);
        $count=count($this->input->post('pro_id'));
        echo CI_VERSION;

        for($i = 0; $i < $count; $i++){
            $post = array(
                'pro_id'        => $post['pro_id'][$i],
                'date_add'      => $post['date_add'][$i], 
                'category'      => $post['category'][$i], 
                'type'          => $post['type'][$i], 
                'size'          => $post['size'][$i], 
                'counts'        => $post['counts'][$i], 
                'booking'       => $post['booking'][$i], 
                'confirmation'  => $post['confirmation'][$i], 
                'confirm_days'  => $post['confirm_days'][$i], 
                'allocation'    => $post['allocation'][$i], 
                'allocate_days' => $post['allocate_days'][$i], 
                'm_installment' => $post['m_installment'][$i], 
                'month'         => $post['month'][$i], 
                'y_instalment'  => $post['y_instalment'][$i], 
                'halfyear'      => $post['halfyear'][$i], 
                'leveling'      => $post['leveling'][$i], 
                'demarcation'   => $post['demarcation'][$i], 
                'possession'    => $post['possession'][$i]
                );
        }
    $this->projects->add_payment($post);
}
 类似资料:
  • 我正在尝试使用带有CodeIgniter的函数insert_batch插入来自表单as数组的一些值。 这是控制器中的代码: 这是模型插入\数量\产品中的代码 这是数据库错误 未知列应为quantity、price和productID 我做错了什么?

  • 我试图插入一个使用AJAX启动控制器的表单。表单是通过搜索另一个数据库生成的,该数据库创建了一个循环(foreach)表。用户将他/她的徽章扫描到输入字段中,然后在tab或blur上,jQuery启动对控制器的AJAX调用,控制器启动模型以插入数据库。它将数据写入数据库,但它循环表的所有行并将其插入数据库的每一行。因此,我将在db中设置10行,每列包含该列的所有10行数据(我假设是从我的内爆中)。

  • 我用的是Phil Sturgeon的 KEYS如何工作?有一个名为KEYS的表定义如下: 在名为KEYS的类中有如下方法: 由于这个软件包并没有很好的文档记录,而且我是API新手,所以上面的工作原理是什么?例如,我是否生成一个密钥并将其永久插入数据库。为什么会有删除方法? 从我的阅读资料来看,这听起来像是我为应用程序生成了一个初始的X-API-KEY,然后当客户端使用资源时,我会使用KEYS类将X

  • 我是词的初学者。我在CodeIgniter中的insert_批处理函数中遇到错误。当我将数组插入insert_批处理时,我得到了这个错误 未知的列数组在字段列表和数组到字符串转换我已经做了很多解决方案,但仍然得到这个错误,有人能给我一个想法吗? 在我看来 控制器 模型函数 谁能告诉我如何解决这个问题?

  • //控制器 函数搜索($search=0){ } //模型函数search_employee($search ch雇员){$sql="选择清空代码,名称来自spmm_employee_info其中名称 '%" . $search ch雇员 . "%'"; $查询=$this- 当我尝试搜索并单击另一个页面时,它会显示表spmm_employee_info上的所有数据。所有我想要的是显示所有与搜索相

  • 我试图连接代码点火器的电子邮件库到一个电子邮件帐户,我已经通过Godaddy创建。我试图通过SMTP主机发送邮件。据我所知,我的所有信息都是正确的,因为调试提到正在发送电子邮件。我想知道我是否在我的SMTP头中丢失了任何东西,以便在收件人的邮件服务器上正确接收。这里是调试: 会告诉我我的两封电子邮件都有效吗?事实上,我收到了一条成功消息(调试进行到一半),这意味着电子邮件已经成功发送。检查我的Go