я поставил на пользователя тузд только ВЫБРАТЬ привилегияPDO errorinfo с пользователем, который не имеет никаких привилегий
Затем, когда я бегу UPDATE ...
запрос
$sth = $db->prepare($update_sql);
if (!$sth) {
echo "fail";
}
else {
echo "Ok";
}
Printed Ok
, хотя в таблице ничего не обновляется.
Вопрос: Почему печатается Ok
, а не fail
?
Почему 'if (false === $ sth)' идиома? Просто как «ложь» вам нужно что-то такое? – tadman
Успешный запрос может возвращать нулевые строки. Хотя это семантически не проблема для метода execute (по сравнению с методом exec), я по-прежнему считаю это хорошей практикой. – symcbean
Это действительно приводит к неудобному двойному отрицанию в 'else'. – tadman