gpt4 book ai didi

mysql - 错误 1267 非法的排序规则组合

转载 作者:行者123 更新时间:2023-11-29 17:46:43 26 4
gpt4 key购买 nike

我正在运行以下查询

SELECT * FROM leads WHERE LCASE(address) = "2560 Cherry cir"

我收到错误

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

我认为有一些奇怪的空格字符导致了错误(2560–Cherry–cir)

地址由用户输入,并提交到使用 PDO 组装和运行查询的 php 页面。

<input type='text' name='address' />

$this->db->select(
"SELECT
*
FROM leads
WHERE
LCASE(address)=:address

array( ":address" => strtolower($address) ) );

选择函数定义如下:

public function select($sql, $array = array(), $fetchMode = PDO::FETCH_ASSOC)
{
$sth = $this->handleDB->prepare($sql);
foreach ($array as $key => $value) {
$sth->bindValue("$key", $value);
}

$sth->execute();
return $sth->fetchAll($fetchMode);
}

我应该如何解决这个问题?数据库和表的排序规则都是UTF-8?我将 PHP 与 PDO 结合使用,并在 PDO 中将字符集设置为 UTF-8。

最佳答案

发现问题,表设置为UTF-8排序规则,但列设置为拉丁语。

关于mysql - 错误 1267 非法的排序规则组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49755953/

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