Joomla 1.5 Обновление данных в таблице #__content (joomla 1.59) Не могу изменить данные в ячейке fulltext

Discussion in 'Программирование' started by ProrokIV, Oct 28, 2010.

  1. Offline

    ProrokIV Недавно здесь

    Joined:
    Oct 28, 2010
    Messages:
    3
    Likes Received:
    0
    Gender:
    Male
    При добавление статьи через admin панель joomla 1.59 вступительная часть материала (до разделителя readmore) сохраняется втаблицу #__content в ячейку introtext, остальная часть сохраняется в ячейку fulltext.
    Задача:
    Средствами php очистить содержимое ячейки fulltext. То есть, требуется обновить данные при помощи запроса UPDATE.
    На первый взгляд вопрос тянет на уровень детского сада, но по факту обновить (очистить\добавить) данные удается в любой ячейке таблицы кроме fulltext.

    Следующий код выдает ошибку ($result = false)

    Код (PHP):
    1. $sql = ("UPDATE #__content SET
    2. title = 'title', alias = 'alias', introtext = 'introtext', fulltext = 'fulltext', state = 'state' ...  WHERE id = '1'");
    3. $result = $db->setQuery( $sql);


    Если исключить fulltext = 'fulltext', обновление проходит успешно.
    Помогите! google от меня устал!
     
  2.  
  3. sergiks
    Offline

    sergiks Недавно здесь => Cпециалист <=

    Joined:
    Oct 10, 2010
    Messages:
    362
    Likes Received:
    36
    Gender:
    Male
    Надо почистить вошек:
    Код (CODE):
    1. $sql = ("UPDATE #__content SET
    2. title = 'title', alias = 'alias', introtext = '".$db->getEscaped($introtext)."', fulltext = '".$db->getEscaped($fulltext)."', state = 'state' ...  WHERE id = '1'");

    Там всякие апострофы могли быть в fulltext'е, как и в introtext'е.
     
  4. Offline

    ProrokIV Недавно здесь

    Joined:
    Oct 28, 2010
    Messages:
    3
    Likes Received:
    0
    Gender:
    Male
    В примере кода я пытаюсь записать именно текст - fulltext, это не переменная, так же не удается записать цифровые данные хотя бы тот же - 0
     
  5. sergiks
    Offline

    sergiks Недавно здесь => Cпециалист <=

    Joined:
    Oct 10, 2010
    Messages:
    362
    Likes Received:
    36
    Gender:
    Male
    Ха, прикольно! Попробовал - та же фигня.
    Дело в том, что слово fulltext — это еще и зарезервированное слово в MySQL.
    Чтобы показать, что это имя колонки, надо ее заключить в обратные одинарные кавычки:
    Код (CODE):
    1. UPDATE jos_content
    2. SET `fulltext`='abcd'
    3. WHERE id=1
     
    ProrokIV likes this.
  6. Offline

    ProrokIV Недавно здесь

    Joined:
    Oct 28, 2010
    Messages:
    3
    Likes Received:
    0
    Gender:
    Male
    sergiks огромное тебе человеческое спасибо!!! Я уже было впал в отчаянье.. Теперь все работает )
     

Share This Page

Loading...