建站服务

导入数据到ucenter与论坛,或其它 cms用户同小只要操作ucenter的两张表就行了,uc_members,uc_memberfields哦,涉及到更新的字段也不多,所以总体来讲把它系统的数据导入到ucenter进行会员同止步是很简单的。

我们要用的会员表结构:

建站服务

create table if not exists `integrate_users` (
`id` int(11) not null auto_increment,
`username` varchar(32) default null,
`email` varchar(50) default null,
`add_time` int(11) default null,
`reg_ip` int(15) default null,
`password` varchar(50) default null,
`last_login` int(11) default null,
primary key (`id`)
) engine=myisam default charset=utf8 auto_increment=1;

程序代码:

<?php
$host =’localhost’;
$db =’test’;
$user=’root’;
$password =’root’;
//数据库教程连接配置,由于我的ucenter表与现在的会员表在同一个数据库所以就一次连接就行了。
try {
$conn = mysql_connect($host,$user,$password);
mysql_select_db($db,$conn);
} catch (dbexception $e) {
exit(‘database connect fail!’);// 数据库出错处理处
}
$sql =”select * from integrate_users”; //查出要导入到ucenter所有会员数据
$query = mysql_query($sql, $conn);
while($rs = mysql_fetch_array($query))
{
$uc_sql = “select * from uc_members where username='”.$rs[‘username’].”‘”;
$result = mysql_query($uc_sql);
if(mysql_num_rows($result) >= 1) //当存在有记录时
{
echo “UCenter已存在同一用户名:”.$rs[‘username’].”<br>”;
}
else
{
$salt = substr(uniqid(rand()), -6); //6位随机数
$password = md5($rs[‘password’].$salt);//按照ucenter规则生成用户登陆密码
mysql_query(“insert into uc_members set username='”.$rs[‘username’].”‘, password='”.$password.”‘, email='”.$rs[’email’].”‘, lastlogintime ='”.$rs[‘last_login’].”‘, regip='”.$rs[‘reg_ip’].”‘, regdate='”.$rs[‘add_time’].”‘, salt='”.$salt.”‘ “); //把数据一一对应插入到uc_members表
$last_id = mysql_insert_id(); //上一步自动生成的ID
mysql_query(“insert into uc_memberfields set uid='”.$last_id.”‘”);//更新uc_memberfields表。
}
}
exit(‘用户数据己成功导入到ucenter!’);
?>

建站服务