0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 212 Просмотров
*

pavel2950

  • Захожу иногда
  • 176
  • 2 / 0
Привествую всех!

В модуле пишу вот так, по логике все верно.

Код
   $db = JFactory::getDbo();
        $query = $db->getQuery(true);
        $query->insert('#__join_membership')
       ->columns('member_id, status, last_name,first_name,middle_name, district, university, year_ending, degree, workplace, user_position, email, phone')
        ->values('member_id', 'status', 'last_name', 'first_name', 'middle_name', 'district', 'university', 'year_ending', 'degree', '231', 'workplace', 'user_position', 'email', 'phone');
       
        $db->setQuery($query);
        $db->query()

ошибку в консоли отлавливаю "JDatabaseExceptionExecuting: Column count doesn't match value count at row 1". Значение ошибки понимаю, но как может быть не соотвествие кол. колонок значению?

Если тот же код но оставить одну колонку и значение все отлично добавляет, а  болше одного нет.

У кого есть какие идеи ?
*

effrit

  • Легенда
  • 9588
  • 1060 / 13
  • effrit.com
*

pavel2950

  • Захожу иногда
  • 176
  • 2 / 0
Re: Вставка данных в БазуДанных
« Ответ #3 : 04.06.2019, 20:34:55 »
здра.
подозреваю, что базе не нравится, когда просят вставить в 13 полей 14 значений  ;D

Это я сюда закинул случайно лишний. А так реально два даже вставил. отвечаю два значение и 2 колонки и борода была.

Скриншот
*

fsv

  • Живу я здесь
  • 2646
  • 382 / 2
Re: Вставка данных в БазуДанных
« Ответ #4 : 04.06.2019, 20:39:53 »
базе не нравится, когда просят вставить в 13 полей 14 значений 
в 1 поле 14 ?
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

AlekVolsk

  • Гуру
  • 6874
  • 398 / 4
Re: Вставка данных в БазуДанных
« Ответ #5 : 04.06.2019, 21:45:34 »
Код: php
$values = array('member_id', 'status', 'last_name', 'first_name', 'middle_name', 'district', 'university', 'year_ending', 'degree', 'workplace', 'user_position', 'email', 'phone');
...
->values(implode(',', $values));

https://cmscafe.ru/docs/joomla/developer/db/515-jdatabase-vstavka-obnovlenie-i-udalenie-dannykh
*

robert

  • Живу я здесь
  • 4723
  • 435 / 17
Re: Вставка данных в БазуДанных
« Ответ #6 : 04.06.2019, 22:05:16 »
Код
$query->insert('#__join_membership')
->columns('member_id, status')
->values('member_id, status');
или
Код
$query->insert('#__join_membership')
->columns(['member_id', 'status'])
->values(['member_id, status']);
« Последнее редактирование: 04.06.2019, 22:24:39 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

pavel2950

  • Захожу иногда
  • 176
  • 2 / 0
Re: Вставка данных в БазуДанных
« Ответ #7 : 05.06.2019, 08:56:38 »
Код
$query->insert('#__join_membership')
->columns('member_id, status')
->values('member_id, status');
или
Код
$query->insert('#__join_membership')
->columns(['member_id', 'status'])
->values(['member_id, status']);

Оба ваших варианта работают, но почему в базу ничего не заносится, хотя мол обращение было и создается пустая строка в базе.

*

pavel2950

  • Захожу иногда
  • 176
  • 2 / 0
Re: Вставка данных в БазуДанных
« Ответ #8 : 05.06.2019, 08:57:31 »
Код: php
$values = array('member_id', 'status', 'last_name', 'first_name', 'middle_name', 'district', 'university', 'year_ending', 'degree', 'workplace', 'user_position', 'email', 'phone');
...
->values(implode(',', $values));

https://cmscafe.ru/docs/joomla/developer/db/515-jdatabase-vstavka-obnovlenie-i-udalenie-dannykh
Такой вариант пробовал я тоже, и с того же сайта смотрел как все делать. Ошибка таже была.
*

pavel2950

  • Захожу иногда
  • 176
  • 2 / 0
Re: Вставка данных в БазуДанных
« Ответ #9 : 05.06.2019, 09:04:12 »
В общем заработало вот так!

Как значения обернул в $db->quote() так и все начало работать.

Код
  $db = JFactory::getDbo();

        $columns = array(
            'member_id',
            'last_name',
            'first_name',
            'middle_name'
        );


        $values = array(
            560,
            $db->quote($last_name),
            $db->quote($first_name),
            $db->quote($middle_name));         


        $query = $db->getQuery(true);
        $query->insert('#__join_membership')
            ->columns($db->quoteName($columns))
            ->values(implode(',', $values));
        $db->setQuery($query);
        $db->query();

Всем спасибо за отзывчивость!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вставка видео с youtube

Автор RomanRomanivich

Ответов: 5
Просмотров: 175
Последний ответ 16.09.2019, 11:18:25
от beliyadm
Сильно увеличилась база данных на Joomla

Автор helicopter

Ответов: 9
Просмотров: 509
Последний ответ 29.07.2019, 17:33:06
от lakshmi
Соединение с базой данных Joomla 3

Автор Алекс33

Ответов: 3
Просмотров: 255
Последний ответ 01.07.2019, 14:11:13
от Алекс33
Создание экспорта данных в CSV из CCK Cobalt

Автор pavel2950

Ответов: 0
Просмотров: 115
Последний ответ 14.06.2019, 18:11:09
от pavel2950
Вставка кода анкеты

Автор lSNAKEl

Ответов: 6
Просмотров: 168
Последний ответ 06.06.2019, 21:55:19
от AlekVolsk