Php 将值发布到MySQL数据库
我试图从表单中的字段在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(
<?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')`