如何使用php计算mysql连接数

wkyowqbh  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(402)

我使用下面的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\u connect在php5.5.0中被弃用,我用

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

更改后,$n\u connections不再返回正确的值,请问代码中有什么错误?
谢谢您
注意:php.net中的mysqli\u list\u processes函数没有帮助,我试过了,它不起作用。
注2:这篇文章不是“如何将mysql改为mysqli?”的重复,我的问题是替换“$result=mysql_list_processs($connection);”

1tuwyuhd

1tuwyuhd1#

您可以简单地尝试这个查询

show status where `variable_name` = 'Threads_connected';

r6hnlfcb

r6hnlfcb2#

这将解决问题并返回正确的db连接数。

$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";

相关问题