Я разрабатываю ORM на основе PDO для таблиц, которые не имеют уникальных полей идентификатора, поэтому при обновлении или удалении мне нужно сравнить с предыдущими значениями записи и LIMIT 1
.
Когда мой запрос, наконец, попадает в базу данных и выполняется с параметрами, все правильно, что подтверждается общим журналом запросов, однако, ничего не происходит .
Я получаюисключений нет (PDO::ERRMODE_EXCEPTION
включено), и проверка $stmt->errorInfo()
возвращается чистой, но $stmt->rowCount()
возвращает 0
.
В качестве проверки работоспособности я открыл файл журнала, скопировал и вставилUPDATE запрос прямо в Sequel Pro (OSX MySQL GUI) и выполнен, и все работало, как ожидалось, обновляя 1 строку.
Почему PDO не обновляет строку, когда вручную выполняет IDENTICAL запрос делает?