被搞死了, MYSQL的存储过程中MD5字段的值和另一个字段比较?求解

qq_31404151 2015-09-18 01:37:29
我是想写个存储过程,
字段 md5Str varchar(200) utf8;
字段 info varchar(200) utf8;

表里面有个md5Str 是保存加密后的字符串的,即WEB提交时用PHP MD5(info),
之后我在存储过程里想这样对比一下MD5的值,再执行下一步,,但MD5居然不正确!!!




  
if md5Str =md5(info) then
.....没有执行,就是两个值不一样。。。
else
delete from table where id=_id
endif;

不知道存储过程中如何MD5字段的值和另一个字段比较?
...全文
306 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
misaka去年夏天 2015-09-18
  • 打赏
  • 举报
回复
谢版主,学习了。
xuzuning 2015-09-18
  • 打赏
  • 举报
回复
字段是集合不是但值 至少应写作
select count(*) into x from tbl_name where md5Str!=md5(info);
if x = 0 then
  .....
misaka去年夏天 2015-09-18
  • 打赏
  • 举报
回复
版主的意思是说,不能拿函数的返回值做if的比较条件。?
xuzuning 2015-09-18
  • 打赏
  • 举报
回复
if 只能做单值比较
xuzuning 2015-09-18
  • 打赏
  • 举报
回复
if 只能做单值比较
misaka去年夏天 2015-09-18
  • 打赏
  • 举报
回复
字段 info 是加密后的字段吗,如果是的话就是二次加密导致的不同。MD5的算法都是一样的,问题大概出在 md5Str =md5(info)这个地方

21,890

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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