如何在PHP中在线显示用户?
无论有多少用户在线,此代码仅显示“1个在线用户”。我该如何解决这个问题如何在PHP中在线显示用户?,php,mysql,Php,Mysql,无论有多少用户在线,此代码仅显示“1个在线用户”。我该如何解决这个问题 <?php $con = mysqli_connect($host, $username, $password , $database) or die('Error connecting to MySQL server.'); $online = "1"; $query = "SELECT * FROM `users` WHERE online = '$online'"; $data = mysqli_query($
<?php
$con = mysqli_connect($host, $username, $password , $database)
or die('Error connecting to MySQL server.');
$online = "1";
$query = "SELECT * FROM `users` WHERE online = '$online'";
$data = mysqli_query($con, $query);
$row = mysqli_fetch_array($data);
$online=$row['online'];
echo '<div id="online-me" class="mydiv3"><center><span id="stats">'.$online.' User(s) Online!</span> </center></div>';
?>
因此
$query = "SELECT * FROM `users` WHERE online = '$online'";
您将获得online=1
的行。然后设置$online=$row['online']
只需将$online
设置为1
,无论发生什么情况
这会让你知道如何修复它。
干杯祝你好运 使用MySql的count()
还可以使用mysqli\u fetch\u assoc而不是mysqli\u fetch\u数组
像这样的
<?php
$con = mysqli_connect($host, $username, $password , $database)
or die('Error connecting to MySQL server.');
$online = "1";
$query = "SELECT count(id) as 'total' FROM `users` WHERE online = '$online'";
$data = mysqli_query($con, $query);
$row = mysqli_fetch_assoc($data);
$online=$row['total'];
echo '<div id="online-me" class="mydiv3"><center><span id="stats">'.$online.' User(s) Online!</span> </center></div>';
?>
使用选择计数(*)…
警告:当使用mysqli
时,您应该使用and将用户数据添加到查询中。不要使用手动转义和字符串插值或串联来完成此操作,因为如果您忘记正确转义某些内容,您将创建严重错误。这给了我一个想法,但我无法修复它。但是谢谢:)@OmarAl Ali嘿,如果你能给我一些关于数据库结构的更多信息,我可能会帮上忙