簡體   English   中英

MySQL SELECT查詢不區分大小寫嗎?

[英]Are MySQL SELECT queries case-insensitive?

我有一個帶有方法post的表單,用戶將按品牌日期等過濾結果。如果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

語言環境為“ latin1_swedish_ci”。

因為它在“CI”結尾,則它必須使用C ASE- nsensitive。

除非您進行二進制比較,否則大多數MySQL排序規則都不區分大小寫。 在您的查詢情況下,不應更改任何內容。 但是,以下查詢會將“ samsung”和“ 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM