Новичок
Покинул форум
Сообщений всего: 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):
скопировать код в буфер обмена
DROP TABLE IF EXISTS `cb_options`; CREATE TABLE IF NOT EXISTS `cb_options` ( `name` varchar(50) NOT NULL default '', `group_name` varchar(50) NOT NULL default '', `title` varchar(255) NOT NULL default '', `value` text NOT NULL, `type` enum('integer','string','text','boolean') NOT NULL default 'string', `extra` text NOT NULL, `position` smallint(5) unsigned NOT NULL default '0', PRIMARY KEY (`name`,`group_name`) ) TYPE=MyISAM;
Я пошёл другим путём, ставлю чистую базу данных, и тоже самое. Что за ошибка появилась ума не приложу, нет вроде её, и работало php 5.1 постарее. Кодировки не менялись, Mysql был тоже 5 до этого и всё работало.
Вот часть куска кода php который отвечает за передачу данных в mysql и выдаёт: Опции не переданы!
CODE ( text):
скопировать код в буфер обмена
public function edit() { $Template = Registry::instance()->Template; $Options = Registry::instance()->Options; $options = request('options', 'P'); if (!$options) { $Template->error('Опции не переданы!'); } $all_options = $Options->getAll(); $clean = array(); foreach ($options as $option_group => $options) { foreach ($options as $option => $value) { if (!isset($all_options[$option_group]['options'][$option])) { continue; } $clean[$option_group][$option] = $value; } }
Но я не пойму почему 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)
|