Экранирование строк в UPDATE запросах Doctrine

// Сентябрь 23rd, 2010 // Doctrine

С коллегой разбирали, почему не экранируются строки при UPDATE DQL-запросах.

$q = Doctrine_Core::getTable(‘SomeModel’)->getQueryObject()
->update(‘SomeModel model’)
->set(‘block_name’,$blockName)
->where(‘id=?’, (int)$id);

Так вот значение поля blockNamе не было обрамлено кавычками, в результате SQL-запрос не выполнялся.

А дело было вот в чем, правильный синтаксис set() для экранирования такой:

// If you just want to set the amount to a value
$q->set(‘block_name’, ‘?’, ‘some text’);

Удачи вам, и поменьше багов!

Share

Спасибо!


Если вам помогла статья, или вы хотите поддержать мои исследования и блог - вот лучший способ сделать это:


One Response to “Экранирование строк в UPDATE запросах Doctrine”

  1. Alfaforever:

    Спасибо, помогло :)

Комментировать