Discuz3.2 新用户插入数据库SQL
2017-02-25 18:48
190 查看
我们的网站要和Discuz整合到一起,有个新用户同步的需求,网络上很多的做法是用 UCenter的接口来做,反正最后都是插入SQL,笔者使用了直接操作数据库的方式,把操作的表和SQL整理了下,后面如果有时间做个SSO就省事了(熟悉了PHP之后。。)
目标:插入普通用户,最小可用就行了,可以登录
整合ucenter注册自动激活, 其实只是把其中的sql提取出来了
dz用户注册登录流程
dz表结构
在Discuz的数据库中插入到数据库之后,web端就能登录了,嘿嘿。
准备
版本:dz 3.2版本 ucenter1.6版本目标:插入普通用户,最小可用就行了,可以登录
整合ucenter注册自动激活, 其实只是把其中的sql提取出来了
dz用户注册登录流程
dz表结构
SQL记录
注意⚠️:表名称前缀根据配置可能不同, 一共有8张表SELECT *FROM pre_ucenter_members; -- UCenter用户数据表 uid, username, password, email, regip(默认写一个值), regdate(时间戳), salt(随机6位字母数字) SELECT *FROM pre_ucenter_memberfields; -- UCenter用户扩展信息数据表 插入 uid SELECT *FROM pre_common_member; -- 主用户表 插入的字段 email, username, password, emailstatus, regdate(时间戳) -- 得到uid再插入其它表 SELECT *FROM pre_common_member_count; -- 用户数据统计 各种积分,动态等 插入 uid SELECT *FROM pre_common_member_field_forum; -- 用户论坛设置数据表 插入 uid SELECT *FROM pre_common_member_field_home; -- 用户家园设置数据表 插入 uid SELECT *FROM pre_common_member_profile; -- 用户个人资料数据表 插入 uid SELECT *FROM pre_common_member_status; -- 用户状态数据表 插入 uid -- 下面是插入一个普通用户的测试, 这里根据id自增,自己算出了uid,便于sql书写 -- lzz, 邮箱 lzz@126.com, 密码 xyz2541 -- 需要计算的密码 pre_common_member 密码为 md5(password) 2cf5c897f58ca21cac9bec93f46f6f53 -- pre_ucenter_members salt yyy111 密码为 md5(md5(password)+salt) 4fab791987738fce5f11504a0fe2a342 -- MYSQL mode 设置的比较严格,所以很多默认值要自己加上。。 INSERT INTO pre_ucenter_members SET uid=7, username='lzz', `password`='4fab791987738fce5f11504a0fe2a342', email='lzz@126.com', regip='127.0.0.1', regdate=UNIX_TIMESTAMP(), salt='yyy111'; INSERT INTO pre_ucenter_memberfields SET uid=7, blacklist=''; INSERT INTO pre_common_member SET uid=7, username='lzz', `password`='2cf5c897f58ca21cac9bec93f46f6f53', email='lzz@126.com', emailstatus=1, regdate=UNIX_TIMESTAMP(); INSERT INTO pre_common_member_count SET uid=7; INSERT INTO pre_common_member_field_forum SET uid=7, `medals`='', `sightml`='', `groupterms`='', `groups`=''; INSERT INTO pre_common_member_field_home SET uid=7, `spacecss`='', `blockposition`='', `recentnote`='', `spacenote`='', `privacy`='', `feedfriend`='', `acceptemail`='', `magicgift`='', `stickblogs`=''; INSERT INTO pre_common_member_profile SET uid=7, `bio`='', `interest`='', `field1`='', `field2`='', `field3`='', `field4`='', `field5`='', `field6`='', `field7`='', `field8`=''; INSERT INTO pre_common_member_status SET uid=7;
在Discuz的数据库中插入到数据库之后,web端就能登录了,嘿嘿。
相关文章推荐
- Discuz3.2 新用户插入数据库SQL
- c# 数据库批量插入数据SqlBulkCopy 示例
- 如何将数据库设置为单用户模式 (SQL Server Management Studio 2008)
- 无法打开用户默认数据库,登陆失败 (Microsoft SQL Server ,错误:4064)
- SQL删除数据库中所有用户数据表主键
- SQL创建数据库中所有用户数据表自增一主键
- 使用Oracle SQLDeveloper连接数据库并创建用户
- s2sh向数据库插入数据,控制台有打印sql语句,数据库查询不到数据问题
- 用 SQL 语句创建数据库用户(SQL Server 2005)
- sql 跨库和域插入数据库
- 用户、组或角色 在当前数据库中已存在。 (Microsoft SQL Server ,错误 : 15023)
- 海量数据插入数据库效率对照測试 ---ADO.NET下SqlBulkCopy()对照LINQ 下InsertAllOnSubmit()
- Oracle11g 在虚拟机上安装数据库 在宿主机上安装SQLPLUS客户端 创建用户远程连接测试成功
- MySql 5.7中添加用户,新建数据库,用户授权,删除用户,修改密码,导入导出sql文件,设置字符集
- 数据库根据键值自动判断插入还是更新的SQL
- 创建oracle 数据库表空间,角色,用户的sql语句
- 数据库大批量SQL插入性能优化
- 向数据库中插入10万条记录的sql语句
- 使用Oracle SQLDeveloper连接数据库并创建用户
- SQL批量添加数据库中所有用户数据表描述