基本上我覺得問題很簡單。但無法找到任何修復。如何區分SELECT查詢中的大寫或小寫單詞
在登錄表單中,我使用php來查詢我的數據庫,該數據庫通過從數據庫表中選擇具有該2值的任何行,檢查傳遞的用戶名和密碼。
什麼似乎是問題是當我登錄前。
用戶:毫米
通:OO
工程。這是正確的,因爲他們在數據庫表。
但現在如果我使用
用戶:MM
通:OO
仍然有效?這不應該。因爲我的分貝只有用戶'毫米'而不是'MM'。 我需要它,因爲其他行上下 區分我有一個上限較低字母
混合基本上我覺得問題很簡單。但無法找到任何修復。如何區分SELECT查詢中的大寫或小寫單詞
在登錄表單中,我使用php來查詢我的數據庫,該數據庫通過從數據庫表中選擇具有該2值的任何行,檢查傳遞的用戶名和密碼。
什麼似乎是問題是當我登錄前。
用戶:毫米
通:OO
工程。這是正確的,因爲他們在數據庫表。
但現在如果我使用
用戶:MM
通:OO
仍然有效?這不應該。因爲我的分貝只有用戶'毫米'而不是'MM'。 我需要它,因爲其他行上下 區分我有一個上限較低字母
混合你必須給列的排序規則/編碼從「不區分大小寫」編碼的改變大小寫敏感的,如utf8_general_cs
或latin1_general_cs
你需要使用大小寫敏感的編碼
從10.1.2. Character Sets and Collations in MySQL
沒有爲collati公約名稱:它們以與它們相關聯的字符集的名稱開頭,它們通常包含語言名稱,它們以_ci(不區分大小寫),_cs(區分大小寫)或_bin(二進制)結尾。
所以使用大小寫敏感像utf8_general_cs
或latin1_general_cs
感謝所有的答案在哪裏。 :)但不得不接受第一個答覆 – 2013-04-02 00:02:32
@MoAdel沒有問題,它完全正確 – 2013-04-02 02:27:54
您可以更新使用查詢表:
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
spcifies,這是不區分大小寫。
thanksfor指出ci和cs部分..所有的答案我得到了right.but必須接受第一個答覆 – 2013-04-02 00:03:10
太棒了....謝謝。 – 2013-03-17 02:22:00