试图做一个简单的PHP登录并遇到一些问题,这是错误:
操作'='的非法混合排序(latin1_swedish_ci,IMPLICIT)和(utf8_general_ci,COERCIBLE)
这是查询
SELECT * FROM `accounts` WHERE `username` = :user AND `password` = MD5(CONCAT(MD5(`salt`), MD5(:pass)))
:user
和 :pass
是包含用户名和密码的预备语句参数 .
我正在尝试在查询中模拟 md5(md5(salt).md5(pass))
.
使用PDO php .
1 回答
根据MD5上的MySql手册,MD5功能的整理结果与您的系统或连接设置相同 .
我猜你的列排序规则设置与系统设置不同 .
您可以在创建连接时指定排序规则设置 . 见opening PDO connection .
没有测试,我认为这样的事情会起作用: