Как обрабатывать не достаточно разрешений в PHP MySQL?

Я столкнулся со странной проблемой при работе с MySQL с PHP и объектом mysqli. У меня есть пользователь, которого я использую для подключения к MySQL, и у этого пользователя достаточно прав для работы с конкретной базой данных. Все работает отлично.

Но я пытаюсь получить список всех баз данных. У пользователя нет прав для этого. Очевидно, я не вижу результатов моего запроса. Но странная вещь заключается в том, что у меня также нет ничего в $ mysqli-> errno, $ mysqli-> error (нет отказа в разрешении или какой-либо ошибке!), И мой результат $ не равен FALSE. Таким образом, в этой ситуации все выглядит так, как будто запрос выполнен нормально, и на сервере нет баз данных (конечно, это не так).

Вопрос не в том, как дать пользователю права на выполнение SHOW DATABASES. Вопрос в том, почему я не вижу никаких ошибок, в то время как у пользователя нет прав на выполнение определенного запроса? И далее, как правильно справиться с такой ситуацией?

Я использую этот код, и он не обрабатывает ситуацию, поскольку $ result не FALSE — это просто обычный $ result, но с пустыми строками

$result = $mysqli->query("SHOW DATABASES");
if($result === FALSE){
echo 'We've got MySQL error! '.$mysqli->errno.':'.$mysqli->error);
}

Цените любые предложения!

0

Решение

Бинго! Спасибо егьял!

Мой пользователь видит только те базы данных, к которым у него есть доступ. Я думал, что он получит ошибку, если у него нет прав на просмотр базы данных на сервере. Теперь все понятно!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]