首页
手机app
基本信息
到访IP统计
管理团队
管理统计
在线会员
会员排行
版块排行
帖子排行
标签排行
下拉
用户名
电子邮箱
用户名
密 码
记住登录
登录
找回密码
注册
快捷通道
关闭
您还没有登录,快捷通道只有在登录后才能使用。
立即登录
还没有帐号? 赶紧
注册一个
论坛导航
帖子
用户
版块
帖子
搜索
蓝色城市
蓝色天空
zz22zz技术论坛
>
php技术讨论版
>
想问一个SQL的写法
发帖
回复
返回列表
新帖
投票
3613
阅读
5
回复
想问一个SQL的写法
[复制链接]
上一主题
下一主题
离线
太史慈
UID:2
注册时间
2011-05-04
最后登录
2018-02-05
在线时间
1224小时
发帖
766
搜Ta的帖子
精华
0
金币
626
威望
556
访问TA的空间
加好友
用道具
荣誉会员
关闭
个人中心可以申请新版勋章哦
立即申请
知道了
发帖
766
金币
626
威望
556
加关注
发消息
只看楼主
倒序阅读
使用道具
楼主
发表于: 2011-08-21
一个论坛,想把除了发过主题和发过回复的会员,其他会员都删除掉
怎么完整且安全地把pw_members和pw_memberdata的信息清除?
欢迎大家自由讨论:
共
条评分
[url=http://www.phpwind.com]phpwind[/url]
回复
举报
离线
rickyleo
UID:11
注册时间
2011-06-04
最后登录
2014-02-27
在线时间
165小时
发帖
315
搜Ta的帖子
精华
0
金币
0
威望
99
访问TA的空间
加好友
用道具
技术团队
发帖
315
金币
0
威望
99
加关注
发消息
只看该作者
沙发
发表于: 2011-08-21
主要是计算没有发帖的会员UID啦
(1)、后台更新会员发帖数缓存更新一次,将pw_memberdata中postnum为0的uid计算出来。可以不用脚本跑,将uid筛选出来,放在编辑器里边处理下用逗号隔开 再从所有有这些会员id相关的数据表的数据都删除掉
(2)、脚本方法边跑边执行删除操作
共
条评分
回复
举报
离线
太史慈
UID:2
注册时间
2011-05-04
最后登录
2018-02-05
在线时间
1224小时
发帖
766
搜Ta的帖子
精华
0
金币
626
威望
556
访问TA的空间
加好友
用道具
荣誉会员
发帖
766
金币
626
威望
556
加关注
发消息
只看该作者
板凳
发表于: 2011-08-22
还要考虑分表的情况。。。pw_posts1,pw_posts2
共
条评分
[url=http://www.phpwind.com]phpwind[/url]
回复
举报
离线
太史慈
UID:2
注册时间
2011-05-04
最后登录
2018-02-05
在线时间
1224小时
发帖
766
搜Ta的帖子
精华
0
金币
626
威望
556
访问TA的空间
加好友
用道具
荣誉会员
发帖
766
金币
626
威望
556
加关注
发消息
只看该作者
地板
发表于: 2011-08-22
临时解决方法
复制代码
<?php
error_reporting(0);
define('P_W',1);
define('PW_UPLOAD',1);
define('R_P',getdirname(__FILE__));
define('D_P',R_P);
require_once(R_P.'require/common.php');
include_once(D_P.'data/bbscache/config.php');
//require_once(R_P.'admin/cache.php');
$basename = 'http://'.$_SERVER['HTTP_HOST'].(isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']);
@header("Content-Type:text/html; charset=$db_charset");
include_once(D_P.'data/sql_config.php');
if ($database=='mysqli' && Pwloaddl('mysqli')===false) {
$database = 'mysql';
}
require_once Pcv(R_P."require/db_$database.php");
$db = new DB($dbhost,$dbuser,$dbpw,$dbname,$PW,$charset,$pconnect);
$action = $_GET['action'];
$start = $_GET['start'];
$s_c = $_GET['s_c'];
if(!$action){
$action = 'step1';
}
if(!$start){
$start = 0;
}
if(!$s_c){
$s_c = 0;
}
$percount = 1500;
if ($action == 'step1')//先替换主题内容
{
$query = $db->query("SELECT uid FROM pw_members WHERE uid>$start ORDER BY uid LIMIT $percount");
while ($rt = $db->fetch_array($query))
{
$lastid = $rt['uid'];
//$pw_tmsgs = GetTtable($rt['tid']);//分表尚未处理,一般用不到吧?
$check_threads = $db->get_one("SELECT authorid FROM pw_threads WHERE authorid='".$rt['uid']."'");
$check_posts = $db->get_one("SELECT authorid FROM pw_posts WHERE authorid='".$rt['uid']."'");
$check_posts1 = $db->get_one("SELECT authorid FROM pw_posts1 WHERE authorid='".$rt['uid']."'");
$check_posts2 = $db->get_one("SELECT authorid FROM pw_posts2 WHERE authorid='".$rt['uid']."'");
$check_posts3 = $db->get_one("SELECT authorid FROM pw_posts3 WHERE authorid='".$rt['uid']."'");
if(!$check_threads && !$check_posts && !$check_posts1 && !$check_posts2 && !$check_posts3){
//echo "DELETE FROM pw_members WHERE uid='".$rt['uid']."'";exit;
$db->update("DELETE FROM pw_members WHERE uid='".$rt['uid']."'");
$db->update("DELETE FROM pw_memberdata WHERE uid='".$rt['uid']."'");
$db->update("DELETE FROM pw_memberinfo WHERE uid='".$rt['uid']."'");
}
}
$maxid = $db->get_value("SELECT max(uid) FROM pw_members");
echo '当前'.$lastid.'<br />最大 '.$maxid;
if($maxid > $lastid){
echo "<meta http-equiv='refresh' content='1;url=$basename?action=$action&start=$lastid&s_c=$s_c'>";
}else{
echo "<meta http-equiv='refresh' content='1;url=$basename?action=posts'>";
}
}
function getdirname($path=null){
if (!empty($path)) {
if (strpos($path,'\\')!==false) {
return substr($path,0,strrpos($path,'\\')).'/';
} elseif (strpos($path,'/')!==false) {
return substr($path,0,strrpos($path,'/')).'/';
}
}
return './';
}
?>
共
条评分
[url=http://www.phpwind.com]phpwind[/url]
回复
举报
离线
沈磊
UID:23
注册时间
2011-06-07
最后登录
2012-06-27
在线时间
27小时
发帖
43
搜Ta的帖子
精华
0
金币
0
威望
94
访问TA的空间
加好友
用道具
技术团队
发帖
43
金币
0
威望
94
加关注
发消息
只看该作者
4楼
发表于: 2011-08-22
共
条评分
回复
举报
离线
谯周
UID:17
注册时间
2011-06-07
最后登录
2012-11-26
在线时间
21小时
发帖
142
搜Ta的帖子
精华
0
金币
0
威望
55
访问TA的空间
加好友
用道具
技术团队
发帖
142
金币
0
威望
55
加关注
发消息
只看该作者
5楼
发表于: 2011-08-25
这个其实很简单,反过来思考,先把有发过帖子和回复的uid找出来,其他的就是没有发过的啦,用pw_members和pw_threads/pw_posts进行右联接
共
条评分
回复
举报
发帖
回复
返回列表
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
您目前还是游客,请
登录
或
注册
进入高级模式
文字颜色
提到某人:
选择好友
发 布
回复后跳转到最后一页
上一个
下一个
隐藏
快速跳转
站长茶馆
站长小茶馆
程序员吐槽吧
资源分享区
技术交流
php技术讨论版
服务器运维文档
android开发交流
ios开发
phpwind问题互助
phpwind插件制作教程
社区站务
论坛事务
关闭
关闭
选中
1
篇
全选