[英]How to differ between a upper or lower case words in a SELECT query
基本上我覺得問題很簡單。 但無法找到任何解決方案。
在登錄表單中,我使用php來查詢我的數據庫,通過從數據庫表中選擇具有該2個值的任何行來檢查傳遞的用戶名和密碼。
似乎是問題出在我登錄ex時。
用戶:mm
通過:oo
這樣可行。 這是正確的,因為它們在db表上。
但現在,如果我使用
用戶:MM
通過:oo
仍然有效? 哪個不應該。 由於我的數據庫只有'mm'而不是'MM'。 我需要它來區分上,下字母,因為在其他行中我混合了上,下字母
您必須將列的排序/編碼從“不區分大小寫”的編碼更改為區分大小寫的編碼,例如utf8_general_cs
或latin1_general_cs
您需要使用區分大小寫的編碼
排序規則名稱有一個約定:它們以與它們相關聯的字符集的名稱開頭,它們通常包含語言名稱,它們以_ci(不區分大小寫),_ cc(區分大小寫)或_bin(二進制)結尾)。
因此請區分大小寫,例如utf8_general_cs
或latin1_general_cs
您可以使用查詢更新表:
ALTER TABLE `your_table` CHARSET=latin1 COLLATE=latin1_general_cs;
如果它表示latin1_general_cs
,則cs
指定它區分大小寫。 如果您希望以后不要區分大小寫,可以使用此查詢:
ALTER TABLE `your_table` CHARSET=latin1 COLLATE=latin1_general_ci;
ci
表明它不區分大小寫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.