我有一个带方法帖子的表单,用户会根据品牌日期过滤结果等。 如果MySQL中的品牌名称以非小写示例(samsung)存储,并且搜索输入字段用大写示例(SAMSUNG)填充,它仍然会给我正确的结果或会导致错误吗?
$branded=mysqli_real_escape_string($db, $_GET['brand']); // USER TYPED SAMSUNG
}
$query= "SELECT * FROM `brands` WHERE `brand` = '$branded' LIMIT 1"; // stored as samsung
答案 0 :(得分:1)
语言环境是" latin1_swedish_ci"。
因为它以" ci"结尾,所以必须 c ase- i nsensitive。
答案 1 :(得分:0)
除非您进行二进制比较,否则大多数MySQL排序规则都不区分大小写。在您的查询案例中,不应该做任何改变。但是,以下查询将标记" samsung"和"三星"与众不同:
$branded=mysqli_real_escape_string($db, $_GET['brand']); // USER TYPED SAMSUNG
}
$query= "SELECT * FROM `brands` WHERE BINARY `brand` = '$branded' LIMIT 1"; // stored as samsung
您必须检查您的排序规则以确定它是否区分大小写,但最简单的方法就是测试它。
使用此链接作为参考:
http://dev.mysql.com/doc/refman/5.0/en/charset-binary-op.html