Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将值发布到MySQL数据库_Php_Mysql_Codeigniter - Fatal编程技术网

Php 将值发布到MySQL数据库

Php 将值发布到MySQL数据库,php,mysql,codeigniter,Php,Mysql,Codeigniter,我试图从表单中的字段在mysql表中插入数据。但是,字段是动态分配的,这意味着名称是以编程方式设置的。下面是一个例子 <?php for ($i=1; $i<=$nombre_parents_arr; $i++): ?> <div class="form-group"> <?php echo form_label('Nom' . " " . $i) ; ?> <?php $data = array(

我试图从表单中的字段在mysql表中插入数据。但是,字段是动态分配的,这意味着名称是以编程方式设置的。下面是一个例子

<?php for ($i=1; $i<=$nombre_parents_arr; $i++): ?>

<div class="form-group">
    <?php echo form_label('Nom' . " " . $i) ; ?>
    <?php
        $data = array(
            'class' => 'form-control',
            'name' => 'nom' . $i,
            'rows' => '3',
            'placeholder' => 'Merci de preciser les infos ici'
        );
    ?>
    <?php echo form_textarea($data); ?>
</div>
但是我从mysql中保留了相同的错误。谁能告诉我我的错误在哪里


谢谢

更改您的查询-

$q=0;
foreach($this->input->post('number') as $number) 
{
    if($number!='')
    {
        $data = array(
        "user_id" =>$this->session->userdata('user_id'),
        'nom' . $q =>$this->input->post('value_of_html_name_attribute ')[$q],
        'nom' . $q =>input->post('value_of_html_name_attribute ')[$q],
        'nom' . $q =>input->post('value_of_html_name_attribute ')[$q],
        );

        $this->db->insert('temp',$data);
    }

    $q++;   
}
希望这能奏效

插入临时(用户id,0,1,2)值('42','samer1','samer2',>'samer3')

如果使用的列名仅由数字组成,则必须用反勾号引用

INSERT INTO temp (user_id, `0`, `1`, `2`) VALUES ('42', 'samer1', 'samer2', 'samer3')`
更新


请参阅:“标识符可以以数字开头,但除非带引号,否则不能仅由数字组成。”

您需要转义以数字开头的列名或带有反勾号的数字。什么是“samer1”?我会调查一下的,谢谢。至于samer1之前的>,当我格式化问题中的文本时,它只是一个输入错误:)我正在尝试这个。我看到了你所做的编辑。我在foreach参数上出错。我整理好后会告诉你的。
$q=0;
foreach($this->input->post('number') as $number) 
{
    if($number!='')
    {
        $data = array(
        "user_id" =>$this->session->userdata('user_id'),
        'nom' . $q =>$this->input->post('value_of_html_name_attribute ')[$q],
        'nom' . $q =>input->post('value_of_html_name_attribute ')[$q],
        'nom' . $q =>input->post('value_of_html_name_attribute ')[$q],
        );

        $this->db->insert('temp',$data);
    }

    $q++;   
}
INSERT INTO temp (user_id, `0`, `1`, `2`) VALUES ('42', 'samer1', 'samer2', 'samer3')`