Joomla 1.5 nameQuote() и Quote()

Тема в разделе "Создание расширений для Joomla", создана пользователем vesy, 10.07.2010.

  1. vesy
    Offline

    vesy специалист

    Регистрация:
    02.07.2010
    Сообщения:
    263
    Симпатии:
    53
    Пол:
    Мужской
    Читал, чо для вставки в БД лучше использовать nameQuote() и Quote().
    Тогда вот такой запрос
    Код (CODE):
    1. $query="SELECT age FROM #__users WHERE id='$this->id';

    будет выглядеть вот так
    Код (CODE):
    1. $query='SELECT'
    2. .$db->nameQuote('age')
    3. .'FROM'
    4. .$db->nameQuote('#__users')
    5. .'WHERE'
    6. .$db->nameQuote('id')
    7. .'='
    8. .$db->Quote($this->id);

    А как быть с от таким запросом:
    Код (CODE):
    1. $query="INSERT INTO #__table(field1, field2, field3) VALUES($f1, $f2,$f3) WHERE field4='$f4'";

    Как прописать $db->nameQuote(field1)...
    Гуглил, но ответа не нашел.
     
  2.  
  3. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    это правильный запрос
     
    vesy нравится это.
  4. vesy
    Offline

    vesy специалист

    Регистрация:
    02.07.2010
    Сообщения:
    263
    Симпатии:
    53
    Пол:
    Мужской
    Он правильный. Но как с помощью nameQuote() перечислить поля field1, field2, field3 и Quote() переменные $f1,$f2,$f3 в VALUES?
     
  5. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    а чем другой вариант не устраивает?

    и если уж так хочешь использовать именно свой вариант то посмотри в файлах которые отвечают за работу с БД в Joomla, но я там такой функции не видел
     
  6. vesy
    Offline

    vesy специалист

    Регистрация:
    02.07.2010
    Сообщения:
    263
    Симпатии:
    53
    Пол:
    Мужской
    хе-хе, я б вариант попроще с удовольствием использовал бы:), но вот пишут, что для безопасности надо использовать эти методы.
     
  7. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    повторяю
     
  8. Offline

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

    Регистрация:
    29.10.2009
    Сообщения:
    28
    Симпатии:
    0
    Пол:
    Мужской
    Эти методы на самом деле редко где используются. Насколько я знаю nameQuote() используется для правильного формирования имени поля , если оно написано через пробел.
    А так запрос будет выглядеть примерно так

    $query="INSERT INTO ".$db->nameQuote(#__table)."(".$db->nameQuote(field1).",".$db->nameQuote(field1).") VALUES('".$db->Queote($f1)."','".$db->Queote($f2)."')" ;

    Прочти как использовать кавычки апострофы и знаки слэша в PHP .
     

Поделиться этой страницей

Загрузка...