Joomla 1.5 nameQuote() и Quote()

Discussion in 'Создание расширений для Joomla' started by vesy, Jul 10, 2010.

  1. vesy
    Offline

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

    Joined:
    Jul 2, 2010
    Messages:
    263
    Likes Received:
    53
    Gender:
    Male
    Читал, чо для вставки в БД лучше использовать 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 Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    это правильный запрос
     
    vesy likes this.
  4. vesy
    Offline

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

    Joined:
    Jul 2, 2010
    Messages:
    263
    Likes Received:
    53
    Gender:
    Male
    Он правильный. Но как с помощью nameQuote() перечислить поля field1, field2, field3 и Quote() переменные $f1,$f2,$f3 в VALUES?
     
  5. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    а чем другой вариант не устраивает?

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

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

    Joined:
    Jul 2, 2010
    Messages:
    263
    Likes Received:
    53
    Gender:
    Male
    хе-хе, я б вариант попроще с удовольствием использовал бы:), но вот пишут, что для безопасности надо использовать эти методы.
     
  7. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    повторяю
     
  8. Offline

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

    Joined:
    Oct 29, 2009
    Messages:
    28
    Likes Received:
    0
    Gender:
    Male
    Эти методы на самом деле редко где используются. Насколько я знаю nameQuote() используется для правильного формирования имени поля , если оно написано через пробел.
    А так запрос будет выглядеть примерно так

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

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

Share This Page

Loading...