Перейти к содержимому


Fatal error


Сообщений в теме: 25

#1 dev77rus

    Активный участник

  • Пользователи
  • PipPipPip
  • 114 сообщений
  • Пол:Мужчина

Отправлено 13 Январь 2011 - 16:56

Вот такая ошибка выскакивает, но запись сохраняется.
Удалить запись не получается, такая же ошибка.
Что делать?

Fatal error: Unknown column 'u2' in 'field list'
UPDATE cb_data2 SET u1 = if(u1,u1,2),u2 = if(u2,u2,2), r=1 WHERE id=29
in /usr/home/29962/moiteo.ru/html/cb/view_line.php on line 559

#2 Timur

    Активный участник

  • Техподдержка ООО "КБ"
  • PipPipPip
  • 854 сообщений
  • Пол:Мужчина

Отправлено 13 Январь 2011 - 17:05

Заполните, пожалуйста форму заявки в техподдержку: http://www.clientbase.ru/support/form/

#3 dev77rus

    Активный участник

  • Пользователи
  • PipPipPip
  • 114 сообщений
  • Пол:Мужчина

Отправлено 13 Январь 2011 - 23:34

Заявку отправил.
Обновление до последней сборки не помогло.

#4 Timur

    Активный участник

  • Техподдержка ООО "КБ"
  • PipPipPip
  • 854 сообщений
  • Пол:Мужчина

Отправлено 17 Январь 2011 - 11:57

Проблема была с правами доступа mysql пользователя (отсутствовали права на изменение структуры таблиц).

#5 dev77rus

    Активный участник

  • Пользователи
  • PipPipPip
  • 114 сообщений
  • Пол:Мужчина

Отправлено 17 Январь 2011 - 14:20

Просмотр сообщенияТехподдержка (17.1.2011, 11:57) писал:

Проблема была с правами доступа mysql пользователя (отсутствовали права на изменение структуры таблиц).


На каком основании сделан такой вывод?
Я в письме вам написал, что все заработало после обновления скриптов и вычищения мусора из sql-базы (который непонятно как туда попал).
И манипуляций с правами пользователя никаких не производилось, вообще.

#6 Timur

    Активный участник

  • Техподдержка ООО "КБ"
  • PipPipPip
  • 854 сообщений
  • Пол:Мужчина

Отправлено 17 Январь 2011 - 15:45

Да, действительно. Пропустил Ваши письма после выходных. Вывод сделал из письма, которое в пятницу последнем написали, думал что не пишите, так как проблема решена. Извините.

Выкладываю итоги:

dev77rus сказал:

Восстановил наконец-то работоспособность своей базы путем многочисленных бэкапов базы данных, ее правки и прочих манипуляций. Могу с уверенностью сказать, что дело не в правах к базе данных, т.к. сейчас все работает на тех же правах. Распишу по порядку, как было, надеюсь это поможет исправить ошибки в коде. С вас комментарий :)

1. Разработана конфигурация под логином admin
2. Добавлен пользователь user с ограниченными правами
3. Начались появляться ошибки о невозможности записи в колонку u2 в разных таблицах, этих колонок в базе данных нет.

Fatal error: Unknown column 'u2' in 'field list'
UPDATE cb_data2 SET u1 = if(u1,u1,2),u2 = if(u2,u2,2), r=1 WHERE id=29
in /usr/home/29962/moiteo.ru/html/cb/view_line.php on line 559

4. После очередного запуска программы некоторые пустые ячейки в таблицах заполнились значениями NULL, фотографии - битыми файлами.
5. С бэкапа, сделанного в программе невозможно восстановиться. Бэкап весит 85 кб при размере базы в 170кб.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL' at line 1
SQL: create or replace view cb_data1 as NULL;

6. Через phpMyAdmin найдены ячейки со значением NULL - одно значение в таблице cb_cron поле log, и около 20 значений в таблицах cb_data1...20 в поле view_sql. Все найденные ячейки очищены, после чего бэкап в КБ начал нормально работать, сохраняя всю базу и восстанавливаясь с него.

7. Скачан и установлен чистый дистрибутив, конфигурация восстановлена бэкапом, добавление и удаление пользователей работает, столбцы u2, u3 создаются и удаляются, ошибки не возникает.

8. В базе данных столбца view_sql в таблицах cb_data1...20 при корректной работе программы не стало.


#7 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 17 Январь 2011 - 16:24

dev77rus сказал:

1. Разработана конфигурация под логином admin
2. Добавлен пользователь user с ограниченными правами
3. Начались появляться ошибки о невозможности записи в колонку u2 в разных таблицах, этих колонок в базе данных нет.
.....
5. С бэкапа, сделанного в программе невозможно восстановиться. Бэкап весит 85 кб при размере базы в 170кб.
Бэкап когда был создан и востановлен? (до 2 пункта, между 2 и 3, после 3-го)

Вообще, то что Вы описываете, имеет отношение к другой ошибке, ошибке бэкапа: http://clientbase.ru...?showtopic=2347 . На отсутствие полей это по идее никак влиять не должно.

#8 dev77rus

    Активный участник

  • Пользователи
  • PipPipPip
  • 114 сообщений
  • Пол:Мужчина

Отправлено 17 Январь 2011 - 16:35

Просмотр сообщенияРазработчик (17.1.2011, 16:24) писал:

Бэкап когда был создан и востановлен? (до 2 пункта, между 2 и 3, после 3-го)

Вообще, то что Вы описываете, имеет отношение к другой ошибке, ошибке бэкапа: http://clientbase.ru...?showtopic=2347 . На отсутствие полей это по идее никак влиять не должно.

Где-то после 3-го пункта я понял, что надо срочно делать бэкап (появились ошибки).
Я думаю, это две разные ошибки (поля и бэкап), но у меня они появились сразу друг за другом. Пост, на который Вы ссылаетесь - мой.
В общем сейчас у меня, тьфу 3 раза, все в порядке.

#9 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 17 Январь 2011 - 17:05

Я имею ввиду что пункты с 4 по 6 имеют отношение к ошибке с бэкапом, поэтому все же непонятно каким образом ошибка с полями у Вас все-таки пропала. Для Вас это конечно уже не имеет значение (будем надеяться), но у кого-то тоже может всплыть.

#10 dev77rus

    Активный участник

  • Пользователи
  • PipPipPip
  • 114 сообщений
  • Пол:Мужчина

Отправлено 17 Январь 2011 - 17:20

Это остается загадкой. Ошибка проявилась после добавления юзера. И еще перед этим была попытка копирования группы доступа для этого юзера, которая не состоялась. Кто-то писал здесь, что страница обновлялась без появления новой группы. Возможно это сыграло свою роль.
В это время у вас было одно или два обновлений программы, в которых копирование группы доступа заработало.
После ковыряний с базой и этих обновлений пропали и обе ошибки.

#11 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 17 Январь 2011 - 19:39

Ок, будем иметь ввиду.

#12 dev77rus

    Активный участник

  • Пользователи
  • PipPipPip
  • 114 сообщений
  • Пол:Мужчина

Отправлено 19 Январь 2011 - 22:03

Просмотр сообщенияРазработчик (17.1.2011, 19:39) писал:

Ок, будем иметь ввиду.


Разработчику.


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

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

1. При добавлении нового пользователя в таблицах cb_data появляется поле U(User_ID), отвечающее за отображение статуса записи для каждого пользователя. При возникновении ошибки программа ругается на отсутствие такого поля в таблице при сохранении данных (его там и правда нет).

2. В таблице cb_tables, где перечислены таблицы пользовательской конфигурации, есть поле view_sql (не знаю, за что оно отвечает, может поясните?). Так вот, каким-то образом, вероятно при вычислениях в программе, ошибочно или нет, в это поле попадает значение NULL, из-за чего после, при добавлении пользователя не срабатывает функция добавления поля U(User_ID) в таблицы cb_data.

Проверка показывает, что если в какой либо строке таблицы cb_tables в поле view_sql проставить галку NULL (phpmyadmin), то при удалении пользователя в таблице cb_data его поле U не удаляется, возникает ошибка инструкции DROP.

Связь ошибок (этой и ошибки бэкапа) в том, что в бэкапе возникают инструкции create or replace view cb_data1 as NULL; как раз завязанные на значении NULL в поле view_sql таблицы cb_tables. Сколько значений NULL в этой таблице, столько же ошибочных инструкции в бэкапе по соответствующим таблицам с данными.

#13 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 20 Январь 2011 - 14:08

Просмотр сообщенияdev77rus (19.1.2011, 22:03) писал:

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

Конечно, мы только за :)
Для работы нашей программы поля со свойством null не требуются совсем. Возникали они из-за неправильного создание бекапа нашей программой, которое не учитивыет что на некоротых mysql серверах при создании полей, по умолчанию может присваиваться свойство IS NULL.
Мы выпустили очередное обновление :)
Скачайте его и запустите файл fix_null_values.php. Внимание! Это приведет к тому что все таблицы системы, потеряют свойство is null.
Так что если у вас испольюзуются свои таблицы, в которых это свойство нужно, то вам потребуется восстанвить их! Если же у вас обычная стандартная конфигурация, то никаких проблем не возникнет.

После запуска fix_null_values.php, сделайте бекап (сейчас создание бекапа работает правильно).После восстановления старых бекапов, повторно запускайте fix_null_values.php, т.к. в них храняться старые is null свойства.

Ошибки, аналогичные вашей после запуска fix_null_values должны исчезнуть.

#14 dev77rus

    Активный участник

  • Пользователи
  • PipPipPip
  • 114 сообщений
  • Пол:Мужчина

Отправлено 20 Январь 2011 - 17:40

Аллилуйя! Спасибо огромное.

#15 nk

    Активный участник

  • Пользователи
  • PipPipPip
  • 228 сообщений
  • Пол:Мужчина

Отправлено 12 Февраль 2011 - 02:07

Не совсем понятно как бороться с этим.
После запуска fix_null ничего не изменилось: ошибка также возникает при попытке сохранения записи в "своей" таблице.

#16 nk

    Активный участник

  • Пользователи
  • PipPipPip
  • 228 сообщений
  • Пол:Мужчина

Отправлено 12 Февраль 2011 - 02:18

т.е. при создании второго юзера, он не может изменять добавленные вручную таблицы

какое решение у этой проблемы???
версия последняя, скачанная час назад

#17 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 14 Февраль 2011 - 09:38

Приведите полный текст ошибки при сохранениии?

#18 nk

    Активный участник

  • Пользователи
  • PipPipPip
  • 228 сообщений
  • Пол:Мужчина

Отправлено 14 Февраль 2011 - 22:29

Fatal error: Unknown column 'u2' in 'field list'
UPDATE cb_data83 SET u1 = 1,u2 = 1, r=1 WHERE id=2
in /home/nhestar/public_html/cb/view_line.php on line 581

#19 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 15 Февраль 2011 - 09:30

fix_null не исправляет данную ошибку, он предоствращает ее.
Для исправления вам необходимо вручную добавить в таблицу cb_data83, поле u2, а также в остальные таблицы, где его нет.
Используя например phpmyadmin.

#20 mak

    Активный участник

  • Активный пользователь
  • PipPipPip
  • 207 сообщений

Отправлено 03 Апрель 2011 - 20:13

здравствуйте.

у меня возникла аналогичная проблема. хостинг nic.ru
заявку отправил.

кроме "ручного" исправления, другого решения нет?
эта проблема будет исправлена "на корню"?

да, скачивал последнюю ревизию для установки, так в архиве нет дампов начальных баз, соответственно невозможно установить программу.
а еще .htaccess в корне странный, все запрещающий всем. а в других папках его вообще нет (в отличии от прошлых ревизий)...





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных