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

pavel2950

  • Захожу иногда
  • 194
  • 3 / 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

  • Легенда
  • 9803
  • 1080 / 13
  • effrit.com
*

pavel2950

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

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

Скриншот
*

fsv

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

AlekVolsk

  • Гуру
  • 6906
  • 407 / 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

  • Живу я здесь
  • 4949
  • 455 / 20
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

  • Захожу иногда
  • 194
  • 3 / 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

  • Захожу иногда
  • 194
  • 3 / 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

  • Захожу иногда
  • 194
  • 3 / 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();

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

Вставка виджета

Автор Agoniya

Ответов: 8
Просмотров: 88
Последний ответ 06.08.2020, 11:38:25
от Cedars
Сохранить данные файла в базу данных

Автор Frics

Ответов: 2
Просмотров: 131
Последний ответ 29.06.2020, 03:08:25
от pavelrer
Вывод разницы данных на сайт средствами php

Автор Frics

Ответов: 6
Просмотров: 217
Последний ответ 24.06.2020, 16:00:05
от effrit
Как отключить Политику персональных данных и Условия исп. сайта?

Автор dss

Ответов: 1
Просмотров: 186
Последний ответ 22.05.2020, 01:00:58
от Kostelano
Вставка Gravatar в компонент краундфайтинга на странице деталей

Автор golinejj

Ответов: 1
Просмотров: 164
Последний ответ 11.02.2020, 16:31:36
от AdWeb