DBAL Querybuilder не обновляется

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

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

Даже если я использую setParameter для этого также он молча потерпит неудачу.

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

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

Редактировать:

Оператор вставки работает отлично:

$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);
        }

1 ответ

Решение

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

$queryBuilder = $this->connection
            ->update($this->table)
            ->set('data', '?')
            ->where('id = ?')
            ->setParameter(0, 'test')
            ->setParameter(1, $sessionId);
Другие вопросы по тегам