gpt4 book ai didi

php - MySQL 准备语句和区分大小写

转载 作者:行者123 更新时间:2023-11-29 05:04:24 25 4
gpt4 key购买 nike

以前我用的是mysqli类的query方法。现在我正在使用 prepare 方法重写很多代码。我有一个排序规则为 utf8mb4_bin 的表(区分大小写),但用户应该执行不区分大小写的查询,过去的查询是这样的

SELECT SQL_CALC_FOUND_ROWS * FROM utenti WHERE nome LIKE _utf8mb4 ? COLLATE utf8mb4_unicode_ci ORDER BY id_utente ASC

我知道我不能将此语法用于准备好的语句,最好的方法是什么?我想强制存储值和查询值小写,但我认为这不是最好的方法。

最佳答案

您应该能够对列应用不区分大小写的排序规则,然后将其与您的参数进行比较:

SELECT * FROM utenti 
WHERE nome COLLATE utf8mb4_unicode_ci LIKE ?
ORDER BY id_utente ASC

P.S.:我建议删除 SQL_CALC_FOUND_ROWS。如果您不使用 LIMIT,它就没有任何意义。它只会让性能变得糟糕。

关于php - MySQL 准备语句和区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51411192/

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