Я столкнулся с какой-то странной проблемой при работе с MySQL с PHP и объектом mysqli. У меня есть пользователь, который я использую для подключения к MySQL, и у этого пользователя достаточно разрешений для работы с конкретной базой данных. Все работает нормально.Как обрабатывать недостаточно разрешений в php mysqli?
Но я пытаюсь получить список всех баз данных. У пользователя нет прав для этого. Очевидно, я не вижу результатов моего запроса. Но странно то, что у меня также нет ничего в mysqli-> errno, $ mysqli-> ошибке (без разрешения отказа или какой-либо ошибки!), А мой результат $ FALSE. Поэтому в этой ситуации все выглядит так, как будто запрос выполнен нормально, и на сервере нет баз данных (конечно, это не так).
Вопрос не в том, как предоставить права пользователя на выполнение SHOW DATABASES .. Вопрос в том, почему я не вижу никаких ошибок, в то время как у пользователя нет разрешений для выполнения конкретного запроса? И далее, как правильно справиться с такой ситуацией?
Я использую этот код и он не справиться с ситуацией, так как $ результатов не ЛОЖЬ - это просто нормальным $ результат, но с пустыми строками
$result = $mysqli->query("SHOW DATABASES");
if($result === FALSE){
echo 'We've got MySQL error! '.$mysqli->errno.':'.$mysqli->error);
}
Цените любой вид suggections!
Как указано в [Синтаксис SHOW DATABASES] (https://dev.mysql.com/doc/en/show-databases.html), "* вы видите только те базы данных, для которых у вас есть какая-то привилегия *" , – eggyal