+ -
当前位置:首页 → 问答吧 → mysql查询语句的where表达式如何引用字段值?

mysql查询语句的where表达式如何引用字段值?

时间:2011-03-08

来源:互联网

现有一个用户表:user

字段列表为:

uid 整数唯一

username 字符串

password 加密字符串(算法见如下)

salt (6位随机数)



我要做登录判断,如何做到查询的时候引用一下自身的salt字段值进行判断?

思想如下:

$u = $_POST["username"];

$p = $_POST["password"];

select uid from `user` where username = '$u' and password ='" . md5( md5($p).salt字段值 ) . "'



意思是:密码必须是,当前密码经过md5一次加密后再与该行的salt字段值合并后再经过一次md5加密。

问题关键在于,如何在where条件式里引用本身的salt字段值,求教??

作者: wanglong8906   发布时间: 2011-03-08

select id from test where userpwd = md5(md5(username) +"dafdsafd")

表结构
DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(100) DEFAULT NULL,
  `userpwd` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of test
-- ----------------------------
INSERT INTO `test` VALUES ('1', '123', '854d6fae5ee42911677c739ee1734486');


854d6fae5ee42911677c739ee1734486  =   md5(md5('123') +"dafdsafd")

作者: lansediao   发布时间: 2011-03-08

相关阅读 更多