飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16368|回复: 0
打印 上一主题 下一主题

在线玩家数(没有错误)

[复制链接]

197

主题

203

帖子

1070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1070
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:45:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个:   K( U8 o( F9 O  R
代码:
  t, F  C3 P) o# v2 F9 D6 p
' G8 a, W5 Q. o% J% Z% o$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");
1 S- n* b2 Q; m9 d4 Secho mssql_num_rows($mssql);
) {! C) g: H0 W) d这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:. b# t( @8 ?7 B5 T( f
0 p% m; \% g5 K1 F6 o- ]
代码:6 i9 ~! _  ]' v( s& C
$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");; E) l% H& m! l6 v
echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0
! ?; A+ [! V/ V1 P2 b% t  _: D+ c7 p- k6 T' I, T$ t7 M
Spikensbror的更快的方法:
; T! D/ ^0 I! l+ d4 T( c6 h邮编:
  H/ Q  n0 [, h* B6 F
6 ^/ T2 Z5 A1 D6 o1 L& e. [8 E$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');7 {) W5 b. m  h
$ccu = mssql_fetch_assoc($query);4 f6 ?- ^) ~* I7 W, w: t
$ccu = $ccu['CCU'];5 y8 k# T7 j9 z4 K( c
' e, p. n. l) j, W
9 v' o( |; }( u
4 j% g2 @6 Y3 j: C1 |3 ^3 O

. I9 ~. @- _5 P) z4 o6 |
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|飞飞世界技术论坛  

GMT+8, 2025-9-5 04:02 , Processed in 0.059380 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表