重庆公司网站搭建公司推荐,照片做视频ppt模板下载网站,网站流量检测,著名外国网站大家好#xff0c;我是雄雄#xff0c;欢迎关注微信公众号#xff1a;雄雄的小课堂 前言
现在是2022年4月28日13:41:29#xff01;
需求#xff1a;用户可以通过手机号、邮箱来注册我们的系统#xff0c;用户完成之后#xff0c;可以去完善自己的个人信息#xff0c;… 大家好我是雄雄欢迎关注微信公众号雄雄的小课堂 前言
现在是2022年4月28日13:41:29
需求用户可以通过手机号、邮箱来注册我们的系统用户完成之后可以去完善自己的个人信息比如修改手机号邮箱以及用户名。下次上来用户可以使用手机号、邮箱以及用户名三种中的任何一种方式登录系统。
实现方法
其实这个实现起来挺简单的就是当时绕了很大的坑给绕进去了。。。。
像这样的需求直接可以在后台的sql中实现,但当时写sql的时候写了好几种形式
第一种 SELECT * FROM blade_user WHERE (emailmuxiongxiong AND PASSWORD muxiongxiong)OR (NAME muxiongxiong AND PASSWORD muxiongxiong)OR (phone muxiongxiong AND PASSWORD muxiongxiong)OR (account muxiongxiong AND PASSWORD muxiongxiong)第二种 SELECT * FROM blade_user
WHERE email || NAME || phone || account LIKE %muxiongxiong% AND PASSWORD muxiongxiong第三种 SELECT * FROM blade_user WHERE (email muxiongxiong OR NAME muxiongxiong OR phone muxiongxiong or account muxiongxiong) AND PASSWORD muxiongxiong第一种和第三种基本上一样第二种写法比较新奇思路是这样的将这几个字段用户名邮箱电话账号都拼接在一起然后通过模糊查询的like去匹配然后和密码比对进行查询。这几种方式的效率基本都差不多用哪种都可以。前提是得限制用户的手机号邮箱账号以及用户名都是唯一的极端情况下的话就是A的账号和B的手机号一样或者其他字段一样可能会查询出来多条数据。
刚开始绕弯是因为我把手机号、邮箱等这几个字段理解成了不一样的了于是结果总是有好多个还以为自己的sql写错了呢后来朋友看出来了问题所在一语指出…
结果总是有好多个还以为自己的sql写错了呢后来朋友看出来了问题所在一语指出…