Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблема с Mysql после обновления Linux

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Обновил площадку, теперь считает таблицу Mysql с ошибкой
Seruy
Отправлено: 14 Декабря, 2009 - 04:43:35
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Авг. 2009  


Помог: 0 раз(а)




Обновился сетевой ДС портал (он на Cobreeder), вернее его площадку, изменилось:

PHP 5.3.1 (cli) (built: Nov 28 2009 08:37:48)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies

и

Server version: Apache/2.2.3
Server built: Nov 12 2009 18:43:41

Начинаю в админке править опции, данны не пишутся в Mysql я полез в phpmyadmin, нашёл таблицу опций, окрываю, меняю к примеру даже название сайта, нажимаю Ок и выдаёт:

Цитата:
Ошибка

Вероятно, SQL-запрос содержит ошибку. При наличии таковой, ниже будет выведена ошибка MySQL-сервера, облегчающая диагностику проблемы.

ERROR: Незакрытая кавычка @ 89
STR: '
SQL: SELECT * FROM `cobreeder`.`cb_options` WHERE CONVERT(`cb_options`.`name` USING utf8) = \'name\' AND CONVERT(`cb_options`.`group_name` USING utf8) = \'site\';


SQL-запрос:

SELECT * FROM `cobreeder`.`cb_options` WHERE CONVERT(`cb_options`.`name` USING utf8) = \'name\' AND CONVERT(`cb_options`.`group_name` USING utf8) = \'site\';

Ответ MySQL:
#1064 - 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 '\'name\' AND CONVERT(`cb_options`.`group_name` USING utf8) = \'site\'' at line 1


Какая кавычка, вот таблица базы данных чистая, ничего не понимаю:

CODE (text):
скопировать код в буфер обмена
  1. DROP TABLE IF EXISTS `cb_options`;
  2. CREATE TABLE IF NOT EXISTS `cb_options` (
  3. `name` varchar(50) NOT NULL default '',
  4. `group_name` varchar(50) NOT NULL default '',
  5. `title` varchar(255) NOT NULL default '',
  6. `value` text NOT NULL,
  7. `type` enum('integer','string','text','boolean') NOT NULL default 'string',
  8. `extra` text NOT NULL,
  9. `position` smallint(5) unsigned NOT NULL default '0',
  10. PRIMARY KEY (`name`,`group_name`)
  11. ) TYPE=MyISAM;


Я пошёл другим путём, ставлю чистую базу данных, и тоже самое. Что за ошибка появилась ума не приложу, нет вроде её, и работало php 5.1 постарее. Кодировки не менялись, Mysql был тоже 5 до этого и всё работало.


Вот часть куска кода php который отвечает за передачу данных в mysql и выдаёт: Опции не переданы!

CODE (text):
скопировать код в буфер обмена
  1. public function edit()
  2.     {
  3.         $Template = Registry::instance()->Template;
  4.         $Options = Registry::instance()->Options;
  5.  
  6.         $options = request('options', 'P');
  7.         if (!$options)
  8.         {
  9.             $Template->error('Опции не переданы!');
  10.         }
  11.  
  12.         $all_options = $Options->getAll();
  13.         $clean = array();
  14.         foreach ($options as $option_group => $options)
  15.         {
  16.             foreach ($options as $option => $value)
  17.             {
  18.                 if (!isset($all_options[$option_group]['options'][$option]))
  19.                 {
  20.                     continue;
  21.                 }
  22.  
  23.                 $clean[$option_group][$option] = $value;
  24.             }
  25.         }


Но я не пойму почему phpmyadmin не даёт править даже если ошибка, ведь по теории лезешь править её, накой его тогда вообще придумали...
Ещё самое интересное, в phpmyadmin делаешь Анализ таблицы или Проверить таблицы - пишет что норм, читаемо и в порядке.

Я пошёл другим путём, ставлю чистую базу данных, и тоже самое. Что за ошибка появилась ума не приложу, нет вроде её. Уже 5 утра, ничего не могу придумать, может у кого есть мысли?
(Добавление)
Есть одно но, когда ставлю в любом месте, либо php.ini либо в .htaccess показывать ошибки, портал вообще не отрывается "Не отобразить страницу". Если написать в options.php в самом начале скрипта две строчки
ini_set('display_errors',1);
error_reporting(E_ALL ^E_NOTICE);
Эти две строки заставят выводить сообщения обо всех критических ошибках на экран.
Если никаких ошибок не выведется, надо написать
error_reporting(E_ALL); - вообще админка не открывается.

В коде собак нет, есть емейл в опциях, но уже в админке, но как убрать если не даёт phpmyadmin редактировать теблицу?

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

(Отредактировано автором: 14 Декабря, 2009 - 05:14:42)

 
 Top
valenok
Отправлено: 14 Декабря, 2009 - 07:35:44
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




У тебя в самом запросе видимо слэши ненужные и в коде который ты привел не вижу никакой работы с бд.
Почему админка не открывается я угадать затрудняюсь.


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB