2017-01-25 2 views
4

Я пытаюсь обновить запись с помощью DBAL Query builder и, похоже, не работает. Столбец data, который я пытаюсь установить, будет работать, только если я заменил значение примера test, которое у меня есть здесь с номером.DBAL Querybuilder не обновляется

В этом случае он отлично обновит мою запись.

Даже если я использую для этого setParameter, он тихо провалится.

$queryBuilder = $this->connection 
       ->update($this->table) 
       ->where('id = ?') 
       ->set('data', 'test') 
       ->setParameter(0, $sessionId); 

Я неправильно использую это или что-то еще происходит?

Edit:

Вкладыш заявление отлично работает:

$queryBuilder = $this->connection 
       ->insert($this->table) 
       ->values([ 
        'id' => '?', 
        'secure' => '?', 
        'modified' => '?', 
        'lifetime' => '?', 
        'user_hash' => '?', 
        'data' => '?', 
       ]) 
       ->setParameter(0, $sessionId) 
       ->setParameter(1, 'y') 
       ->setParameter(2, time()) 
       ->setParameter(3, $this->minutes) 
       ->setParameter(4, 'test') 
       ->setParameter(5, $data); 
     } 
+0

ли колонка возможно, ограничено числовыми значениями? – Jolta

+0

@Jolta нет, совсем нет, и мой оператор insert отлично работает, что может вставлять все виды смешанных данных. –

ответ

3

Вы можете использовать параметры в update так же, как использовать его в insert:

$queryBuilder = $this->connection 
      ->update($this->table) 
      ->set('data', '?') 
      ->where('id = ?') 
      ->setParameter(0, 'test') 
      ->setParameter(1, $sessionId); 
+0

Вы заменили 'set' и' where'. Я попробовал, и теперь это работает, думаю, это очень важно. Вы также можете абсолютно не менять «setParameters», даже если вы правильно обновляете свой номер. Угадай, что ты мой ангел-хранитель сегодня. Спасибо за помощь (снова LOL). –

+0

Я не вижу причин, почему это не должно. Вы говорите: '-> set ('data', ': data') -> setParameter ('data', 'test')' не работает? –

+0

Вы не смешиваете позиционные и именованные параметры, не так ли? –

Смежные вопросы