Как считать подключения MySQL с помощью PHP - PullRequest
0 голосов
/ 04 мая 2018

Я использовал следующий php-код для проверки количества подключений MySQL

$connection=mysql_connect("localhost","$mysql_user","$mysql_pwd");
if (mysqli_connect_errno())
  { echo "NO CONNECTION"; }
  else
  {
unset ($result);
$result = mysql_list_processes($connection);
while ($row = mysql_fetch_assoc($result)){
$mysql_data[]=$row["db"];
}
mysql_free_result($result);
$n_connections=count($mysql_data)-1;
}
echo "$n_connections";

Поскольку mysql_connect устарел в PHP 5.5.0, я изменил $ connection на

$connection=mysqli_connect("localhost","$mysql_user","$mysql_pwd", "$mysql_db");

После этого изменения $ n_connections больше не возвращает правильное значение, что не так в коде, пожалуйста?

Спасибо

примечание: функция mysqli_list_processes в php.net не помогает, я пробовал и не работает.

примечание 2: этот пост не является дубликатом "Как изменить mysql на mysqli?" , моя проблема заменяет "$ result = mysql_list_processes ($ connection);"

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Вы можете просто попробовать этот запрос

show status where `variable_name` = 'Threads_connected';

result from phpmyadmin

0 голосов
/ 04 мая 2018

это должно решить проблему и вернуть правильное количество соединений с БД.

$connection=mysqli_connect("localhost","$mysql_user","$mysql_pwd", "$mysql_db");
if (mysqli_connect_errno())
  { echo "NO CONNECTION"; }
  else
  {

if ($result = mysqli_query($connection, "SHOW FULL PROCESSLIST")) {
    $n_connections=mysqli_num_rows($result);
    mysqli_free_result($result);
 $n_connections=$n_connections-1;
}
}
echo "$n_connections";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...