繁体   English   中英

我为什么不能在codeigniter中使用像这样的insert_batch

[英]why can't i use insert_batch like this in codeigniter

嗨,我正在使用codeigniter,我使用insert_batch函数。 我有这样的表结构

在此处输入图片说明

我正在使用像这样的数组insert_batch函数

Array
(
    [0] => Array
        (
            [ProfileID] => 5
            [ActivityTypeID] => 4
            [ActivityTitle] => bbggg
            [ActivityLink] => http://localhost/elephanti2/home/user/action/settings/user/profilesettings
            [IsActive] => 1
            [CreatedOn] => 1331532905
            [CreatedBy] => 5
        )

    [1] => Array
        (
            [ActivityImage] => 
            [ActivityTitle] => kkkkkkkk
            [ActivityFromDate] => 1330642800
            [ActivityToDate] => 1331852400
            [ActivityDescription] => kkkkkkkkkkkkkkkk
            [ActivityLink] => 
            [CreatedOn] => 1331532905
            [CreatedBy] => 5
            [ProfileID] => 5
            [ActivityTypeID] => 1
        )

)

给出错误

在此处输入图片说明

为什么会这样

我不能使用具有不同键的数组吗?

请帮助..............提前谢谢

insert_batch转换为使用INSERTVALUES形式的SQL查询。 这要求插入每个项目以指定相同的字段。

更改文件“ system \\ database \\ DB_query_builder.php”中的代码行后,我已解决了我的问题

替换文件DB_query_builder.php中的代码,路径:“ system \\ database \\ DB_query_builder.php”

protected function _insert_batch($table, $keys, $values)
{
return 'INSERT INTO '.$table.' ('.implode(', ', $keys).') VALUES '.implode(', ', $values);
}

通过下面的代码

protected function _insert_batch($table, $keys, $values)
{
if(is_array($values))
{
$values = implode(',',$values);
}
return 'INSERT INTO '.$table.' ('.implode(', ', $keys).') VALUES '.implode(', ', $values);
}

我已经通过这种方式解决了我的问题。 希望,同样会为您工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM