过去我用的是 query
mysqli类的方法。现在我用prepare方法重写了很多代码。我有一张有校勘的table utf8mb4_bin
(区分大小写)但是用户应该执行不区分大小写的查询,过去的查询是这样的
SELECT SQL_CALC_FOUND_ROWS * FROM utenti WHERE nome LIKE _utf8mb4 ? COLLATE utf8mb4_unicode_ci ORDER BY id_utente ASC
我知道我不能用这种语法来编写语句,最好的方法是什么?我认为强制存储值和查询值为小写,但我认为这不是最好的方法。
2条答案
按热度按时间esyap4oy1#
您应该能够对列应用不区分大小写的排序规则,然后将其与参数进行比较:
p、 s:我建议把它去掉
SQL_CALC_FOUND_ROWS
. 如果你不使用LIMIT
. 这只会让表演很糟糕。uqjltbpv2#
您所需要做的就是在php中将值转换为大写,并用
upper
在查询中。用那个?设置为要查找的字符串的大写值。