Два или более подключения к MySQL одновременно выдают ошибку Acces Denied

Я получаю эту ошибку Доступ запрещен для пользователя ‘user’ @ ‘localhost’ (используя пароль: НЕТ)
когда я открываю второе соединение MySQL в том же сценарии.

У меня есть класс, который имеет 2 свойства (подклассы). Оба эти свойства выходят из класса DataBase (который устанавливает новое соединение mysqli). В тот момент, когда эти подпункты становятся экземплярами, я получил ошибку Access denied.

Есть ли способ установить два подключения mysqli или моя логика неверна и класс не должен иметь 2 подкласса, как это?

Я надеюсь, что смогу объяснить себя. заранее спасибо

0

Решение

Нет причин думать, что я могу открыть 2 соединения с одним и тем же сервером базы данных. Вы должны создать свое соединение и передать его своим функциям в качестве аргумента.

$mysqli = new mysqli('localhost', 'username', 'password', 'database');

class Foo {
/** @var \mysqli */
protected $db;

public function __construct(mysqli $mysqli) {
$this->db = $mysqli;
}

public function bar() {
$res = $this->db->query('SELECT * FROM table');
$data = array();
while($row = $res->fetch_assoc()) $data[] = $row;
return $data;
}
}

$class = new Foo($mysqli);
1

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

Проверьте свои max_user_connections на ваше my.cfg файл.

  • max_user_connections

    Максимальное количество одновременных подключений, разрешенных для любой заданной учетной записи пользователя MySQL. Значение 0 (по умолчанию) означает «без ограничений».

    Эта переменная имеет глобальное значение, которое может быть установлено при запуске сервера или во время выполнения. Он также имеет значение сеанса только для чтения, которое указывает действующий предел одновременного подключения, который применяется к учетной записи, связанной с текущим сеансом. Значение сеанса инициализируется следующим образом:

    Если учетная запись пользователя имеет ненулевой MAX_USER_CONNECTIONS ограничение ресурса, сеанс max_user_connections значение установлено на этот предел.

    В противном случае сеанс max_user_connections значение установлено на глобальное значение.

0

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