【发布时间】:2011-11-22 00:29:17
【问题描述】:
我想在数据库的行中插入值数组,因为它们每个都从数据库中放入新行。
我不想使用序列化(json_encode 等)从数据库中连续插入所有值。
例如:(在这个例子中,我要插入 3 次数据(值),因为我有 3 个不同的值) 更新 4:
这是我的价值:
<input name="name[0][]" value="11">
<input name="passport_number[0][]" value="11">
<input name="name[1][]" value="22">
<input name="passport_number[1][]" value="22">
我做了,但没用:
$name_input = $this->input->post('name');
$passport_number_input = $this->input->post('passport_number');
//$term_passport_input = $this->input->post('term_passport');
//$date_of_birth_input = $this->input->post('date_of_birth');
//$age_input = $this->input->post('age');
//$national_number_input = $this->input->post('national_number');
//$mobile_input = $this->input->post('mobile');
//$address_input = $this->input->post('address');
$data = array();
foreach ($name_input as $idx => $name) {
$data[] = array(
'name' => $name_input[0]
'passport_number' => $passport_number_input[0],
//'term_passport' => $term_passport_input[$idx],
//'date_of_birth' => $date_of_birth_input[$idx],
//'age' => $age_input[$idx],
//'national_number' => $national_number_input[$idx],
//'mobile' => $mobile_input[$idx],
//'address' => $address_input[$idx],
);
};
var_dump($name_input);
$this->db->insert_batch('customer_info', $data);
这是带有var_dump 的输出'$name_input':
array(2) {
[0] = > array(1) {
[0] = > string(2)"11"
}[1] = > array(1) {
[0] = > string(2)"22"
}
}
我收到此错误:
遇到 PHP 错误
严重性:警告
消息:不能 修改标头信息 - 已发送的标头(输出开始于 D:\xampp\htdocs\application\controllers\admin\tour_foreign.php:405)
文件名:core/Common.php
行号:413数据库 发生错误
错误号:1054
“字段”中的未知列“0” 列表'
插入customer_info(0) 值 ('22')
文件名:D:\xampp\htdocs\system\database\DB_driver.php
行 数量:330
【问题讨论】:
标签: php arrays codeigniter for-loop