我试图用一个html输入插入多个值, HTML输入将有分号分隔的文本,将使用explode函数创建数组然后想将此数组传递给mysql
我创建了以下代码,
if($this->input->post('create_category'))
{
$category_chunk = $this->input->post('category_name');
$category_list = explode(";", $category_chunk);
$category_array = array(
'category_name' =>$category_list );
$result = $this->model_admin->create_expense_category($category_array);}
当我点击创建类别时,它会抛出错误"消息:数组到字符串转换"和" INSERT INTO ec_ex_category
(category_name
)VALUES(数组)"
我知道这是因为' category_name'而创建的。 => $ category_list,
我不知道如何在' category_name'中传递数组。柱, 我正在使用codeigniter。
任何帮助表示赞赏,
谢谢,
答案 0 :(得分:0)
$ category_list是数组,因此您必须首先从中获取category_name,然后插入它。
示例:
$ category_name = $ category_list [0] //数组中的名称是什么索引
然后插入$ category_name。
答案 1 :(得分:0)
您正尝试将数组中的数组发送到模型。要在一行中插入多行,您需要使用insert_batch,它需要一组数组才能工作:
控制器:
$category_list = explode(";", $category_chunk);
$category_array = array();
foreach($category_list as $c)
{
$category_array[] = array('category_name' =>$c)
}
然后在你的模型中:
$this->db->insert_batch('ec_ex_category',$category_array);