Ошибка при добавлении новой позиции

Тема в разделе "Базы данных", создана пользователем rostya, 18 июл 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. rostya

    rostya Постоялец

    Регистр.:
    28 май 2009
    Сообщения:
    55
    Симпатии:
    3
    Установил CMS-ку, работает, вроде ошибок нигде не нашел...
    Проблема в том, что при добавлении новой позиции через админ-центр выдается ошибка, такая:

    Произошла исключительная ситуация (ExceptionMySQL) при обращении к СУБД MySQL.

    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 '')' at line 3
    SELECT MAX(pos)
    FROM system_position
    WHERE id_catalog = 1')

    Ошибка в файле htdocs/xxx/kom_nedv/dmn/system_catalog/posadd.php в строке 147.


    Помогите понять что это за ошибка и как ее исправит ? :thenks:
     
  2. lolhoha

    lolhoha Постоялец

    Регистр.:
    8 мар 2009
    Сообщения:
    148
    Симпатии:
    15
    ошибка в синтаксисе sql-команды
    нужно перейти на 147-ю строку файла posadd.php (там где sql-запрос).
    попробуйте убрать скобку в WHERE id_catalog = 1')
     
  3. rostya

    rostya Постоялец

    Регистр.:
    28 май 2009
    Сообщения:
    55
    Симпатии:
    3
    Со 147 строки файла posadd.php начинается команда:

    throw new ExceptionMySQL(mysql_error(),
    $query,
    "Ошибка при извлечении
    текущей позиции");
    }


    Это, я так понимаю, в случае не исполнения предыдущей команды появляется строка 147.

    Вот этот запрос весь:
    // Извлекаем текущую максимальную позицию
    $query = "SELECT MAX(pos)
    FROM $tbl_cat_position
    WHERE id_catalog = {$form->fields[id_catalog]->value}')";
    $pos = mysql_query($query);
    if(!$pos)
    {
    throw new ExceptionMySQL(mysql_error(),
    $query,
    "Ошибка при извлечении
    текущей позиции");
    }
    $position = mysql_result($pos, 0) + 1;


    Может эта команда вызывает ошибку:
    Помогите разобраться :confused::confused::confused:
     
  4. midw0rk

    midw0rk Создатель

    Регистр.:
    1 окт 2008
    Сообщения:
    33
    Симпатии:
    7
    В конце запроса лишняя скобка и нет кавычки!


    $query = "SELECT MAX(pos)
    FROM $tbl_cat_position
    WHERE id_catalog = '{$form->fields[id_catalog]->value}'";
     
    rostya нравится это.
  5. rostya

    rostya Постоялец

    Регистр.:
    28 май 2009
    Сообщения:
    55
    Симпатии:
    3
    Выдает ошибку вот это команда

    // Осуществляем рекурсивный спуск, для того,
    // чтобы удалить все вложенные подкаталоги
    $query = "SELECT * FROM $tbl_cat_catalog
    WHERE id_parent = $id_catalog"
    $cat = mysql_query($query);
    if(!$cat)
    {
    throw new ExceptionMySQL(mysql_error(),
    $query,
    "Ошибка удаления
    подкаталога");
    }


    Выдает такую ошибку:
    Parse error: syntax error, unexpected T_VARIABLE in /htdocs/ххх/kom_nedv/dmn/system_catalog/catdel.php on line 51
    Подскажите где там ошибка синтаксиса, 51 линию выделил жирным :thenks:
     
  6. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    $query = "SELECT * FROM $tbl_cat_catalog
    WHERE id_parent = $id_catalog";



    забыл поставить
     
    rostya нравится это.
Статус темы:
Закрыта.