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

pavel2950

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

  • Легенда
  • 9618
  • 1062 / 13
  • effrit.com
*

pavel2950

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

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

Скриншот
*

fsv

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

AlekVolsk

  • Гуру
  • 6889
  • 403 / 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

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

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

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

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

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

[Решено] Сортировка при выборке данных из БД

Автор goga_pgasovav

Ответов: 7
Просмотров: 87
Последний ответ 15.11.2019, 22:33:54
от goga_pgasovav
Расширение для Joomla вставка внутри текста "По теме"

Автор phvsfpgs

Ответов: 5
Просмотров: 186
Последний ответ 13.11.2019, 12:11:11
от beliyadm
Выборка данных из Joomla 3.9 с помощью MySQL

Автор natsk2

Ответов: 2
Просмотров: 132
Последний ответ 02.10.2019, 13:36:28
от natsk2
Вставка видео с youtube

Автор RomanRomanivich

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

Автор helicopter

Ответов: 9
Просмотров: 526
Последний ответ 29.07.2019, 17:33:06
от lakshmi