即使使用utf8_general_ci

时间:2018-04-27 15:44:41

标签: pdo collation

我有一个具有utf8_general_ci排序规则的MySQL表,我正在使用PDO预处理语句来连接它。

$conn = new PDO('mysql:host=localhost;dbname=crm;charset=utf8', $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

我没有使用二进制查询,因此它是:

$stmt = $conn->prepare("SELECT * FROM primary_profile WHERE email LIKE :email"); 
$stmt->execute(array('email' => $email));

我不明白为什么查询不被视为不区分大小写,如果大小写不匹配则返回false。

1 个答案:

答案 0 :(得分:0)

您想要运行以下内容:

SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TABLE_name'

每个字段以及每个表都有排序规则设置。