почему я не могу использовать insert_batch, как это в codeigniter - PullRequest
0 голосов
/ 12 марта 2012

привет, я использую codeigniter, я использую функцию insert_batch. у меня есть такая структура таблицы

enter image description here

и я использую такой массив для 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
        )

)

ошибка дана

enter image description here

почему это происходит

я не могу использовать массивы с разными ключами ???????

помогите пожалуйста .............. заранее спасибо

Ответы [ 2 ]

3 голосов
/ 12 марта 2012

insert_batch переводит в SQL-запрос, который использует VALUES форму INSERT.Это требует, чтобы каждый элемент был вставлен, чтобы указать те же поля.

0 голосов
/ 11 апреля 2017

Я исправил проблему после изменения строки кода в файле "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);
}

Я решил эту проблему таким образом.надеюсь, то же самое будет работать для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...