gpt4 book ai didi

php - 非法混合排序规则 -- 简单的 PHP 登录

转载 作者:行者123 更新时间:2023-11-29 12:13:51 27 4
gpt4 key购买 nike

尝试进行简单的 php 登录并遇到一些问题,错误如下:

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='

这是查询

SELECT * FROM `accounts` WHERE `username` = :user AND `password` = MD5(CONCAT(MD5(`salt`), MD5(:pass)))

其中 :user:pass 是包含用户名和密码的准备语句参数。

我正在尝试在查询中模拟 md5(md5(salt).md5(pass))

使用 PDO php。

最佳答案

根据MD5上的MySql手册,MD5函数的整理结果与您的系统或连接设置相同。

我猜您的列排序规则设置与系统设置不同。

您可以在创建连接时指定排序规则设置。请参阅opening PDO connection

未经测试,我认为这样的事情会起作用:

$dsn = 'mysql:host=localhost;dbname=testdb;charset=latin1_swedish_ci';
$username = 'username';
$password = 'password';
$options = array(
...
);

$dbh = new PDO($dsn, $username, $password, $options);

关于php - 非法混合排序规则 -- 简单的 PHP 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30196794/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com