Как определить, успешно ли выполнен запрос на обновление при использовании php pdo и mysql?
В моем приложении я обновляю общее количество элементов, отправленных пользователем, и таблица выглядит так:
элементы
userId | itemsAdded | itemsChecked | itemsUnChecked | itemsTotal
1 | 5 | 2 | 3 | 5
Поэтому, когда я делаю update items set itemTotals = itemsChecked+itemUnChecked
, столбец itemsTotal
остается прежним, если только не изменяются itemsAdded и не увеличиваются itemsUnChecked (2 + 3 равно 5, 1 + 4 также равно 5).
Раньше я использовал rowCount() для проверки успешности запроса, но в этом случае, поскольку столбец itemsTotal
остается прежним, невозможно определить, успешно ли выполнился sql или нет.
$query = $conn->prepare($sql);
$query->execute(array(
":itemCount" => $itemCount
":itemId" => $itemId
));
$queryCount = $query->rowCount();
if($queryCount == 1) {
echo 'Updated succeeded';
} else {
echo 'Updated failed!';
}
Я также мог бы использовать:
$query = $conn->prepare($sql);
$result = $query->execute(array(
":itemCount" => $itemCount
":itemId" => $itemId
));
if($result) {
echo 'Updated succeeded';
} else {
echo 'Updated failed!';
}
Но возвращает ли это значение true или false в зависимости от того, успешно ли выполнился запрос, или в зависимости от количества обновленных строк?
Мне нужно только проверить, был ли запрос успешным или нет. Нет необходимости указывать количество обновленных строк.