【发布时间】:2016-01-17 00:20:08
【问题描述】:
我有一个这样的 Mysql 数据库列
+----------------------------+
|PhoneNumber |
+----------------------------+
|0378617186#0381716116# |
+----------------------------+
所以我想将该单个值提取为不同的值。每个电话号码值由hash (#) 分隔。
我将它用于我的 PHP 登录功能的需要.. 有些人的电话号码超过 1,所以根据我的问题......那个人可以使用第一个号码 (0378617186) 或第二个号码 (0381716116) 登录),所以我需要 PHP 将 hash (#) 符号执行到 OR 函数中。
您的任何帮助都会对我有所帮助... 谢谢
【问题讨论】:
-
这是糟糕的数据库设计,所以如果您控制数据库架构,真正的答案是不要在每列存储多个值。如果您不控制架构,请先惩罚执行此操作的人 :-),然后使用 $numbers = explode('#', $column) 之类的方法并遍历生成的数组。
-
看起来您刚刚开始处理该项目,因此更改内容应该很容易,最好现在就做。如果可能,请尝试将架构更改为:
[userID][phoneNumber][user1][123456][user1][345566][user2][5677]...。 -
你的意思是通过sql语句判断一个电话号码是否是用户注册的电话号码之一?
-
同意..这个数据库架构最糟糕..但我只是被告知要根据该架构来做:(