php开发过程中遇到的问题(一个项目整体设计上的问题)

mimic784887927 2012-06-21 09:27:46
有不通的用户user1,user2,user3,user4,user5.....所用的用户执行的操作相同,但是执行过程中访问的数

据库不同(DB1,DB2,DB3,DB4,DB5......)。
user1-->通过php访问-->DB1
user2-->通过php访问-->DB2
user3-->通过php访问-->DB3
user4-->通过php访问-->DB4
user5-->通过php访问-->DB5
..................
上面的php程序是同一段程序,实现的功能相同。
要实现上面的功能应该如何做?
...全文
418 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
众乐乐_2008 2012-07-13
  • 打赏
  • 举报
回复
你把用户分类后,再放进数组,再进行判断,不久行了。
eureka_cs 2012-06-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

如果你本身用户名有规则,那好办,根据规则选择不同的数据库。
没规则,那么你现在可以指定规则。比如DB1的用户user你可以归类为XX类型用户,那么他登陆的时候,要他自己选自己的用户类型。根据用户类型,再连不同的数据库。


还有就是设置一个中间数据库A,所有的user表写个触发器,每次增加user都往A数据库的user表写入,并标示是哪个数据库。那么登陆先读A,然后再跳转数据库。

……
[/Quote]
我觉得就是你这样,思路很清晰,而且都很有道理
helloyou0 2012-06-22
  • 打赏
  • 举报
回复
以上答案都对 :)
xuzuning 2012-06-22
  • 打赏
  • 举报
回复
不同的用户访问不同的库,自然也可能有不同的用户访问相同的库

既然是指定用户,那么你就一定有一张用户表了。只需在这张表中附加一个字段,用来保存目标库名就可以了
用户登录时,不仅仅验证用户的合法性,还同时取出对应的库名$dbname
然后 mysql_select_db($dbname);

huboao 2012-06-22
  • 打赏
  • 举报
回复
不同的用户访问不同的库,但是需要不需要 同一个用户 多次访问 也要指定到同一个库呢? 如果需要,建议对用户名或者某个不能修改的属性进行编码,然后根据编码结果指定数据库,比如base64 ,然后取编码的某一位,作为选择数据库的参数:比如你有四个数据库,就用某位的结果模4,结果0,用一号数据库,结果1,用二号数据库、或者提前定义一个hash table,array('a'=> '*.*.*.1','b'=>'*.*.*.2'...),直接以某位的字符作为 key,value即为数据库服务器
北京不不 2012-06-22
  • 打赏
  • 举报
回复
如果你本身用户名有规则,那好办,根据规则选择不同的数据库。
没规则,那么你现在可以指定规则。比如DB1的用户user你可以归类为XX类型用户,那么他登陆的时候,要他自己选自己的用户类型。根据用户类型,再连不同的数据库。


还有就是设置一个中间数据库A,所有的user表写个触发器,每次增加user都往A数据库的user表写入,并标示是哪个数据库。那么登陆先读A,然后再跳转数据库。


上面都不能做的话,只能一个一个扫数据库。


qq120848369 2012-06-21
  • 打赏
  • 举报
回复
一个中央数据库记录每个用户在哪个库就行了,。
回忆那么久 2012-06-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

下面是一个例子,当然你用数组也是可以的。
PHP code
switch($user)
{
case 'user1':
mysql_select_db('db1');
break;
case 'user2':
mysql_select_db('db2');
break;
……
[/Quote]
就是这样
一起混吧 2012-06-21
  • 打赏
  • 举报
回复
下面是一个例子,当然你用数组也是可以的。
switch($user)
{
case 'user1':
mysql_select_db('db1');
break;
case 'user2':
mysql_select_db('db2');
break;
.........................
}
mimic784887927 2012-06-21
  • 打赏
  • 举报
回复
怎么在程序中配置不同的用户访问不同的数据库呢???
一起混吧 2012-06-21
  • 打赏
  • 举报
回复
如果两个用户同时访问php程序,但是访问的数据库不同,会不会有冲突
不会。
思路上面不是给你了吗
蹲坑看月亮 2012-06-21
  • 打赏
  • 举报
回复
原来是这样的,~~
那就获取user和DB嘛,然后在传进去,不了完事~
mimic784887927 2012-06-21
  • 打赏
  • 举报
回复
我有一个问题,如果两个用户同时访问php程序,但是访问的数据库不同,会不会有冲突,还有的是能不能给出一些具体的知道思想!!!谢谢!!!
s51384 2012-06-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

根据不同的用户选择不同的数据库就行了。
[/Quote]

简单的用他的;

[Quote=引用 2 楼 的回复:]

你的用户个数不确定,那当然的循环着做了创建2数组,一个萝卜一个坑,不就哦科!
[/Quote]
高效快速的,用数组
蹲坑看月亮 2012-06-21
  • 打赏
  • 举报
回复
你的用户个数不确定,那当然的循环着做了创建2数组,一个萝卜一个坑,不就哦科!
一起混吧 2012-06-21
  • 打赏
  • 举报
回复
根据不同的用户选择不同的数据库就行了。

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧