我有以下方法:(笨模型)MySQL查詢的WHERE區分大小寫
/**
* Get an Ad based on its hash
*
* @param $hash
* @return bool
*/
public function getAdbyHash($hash)
{
$this->db->select('category.id as category_id, category.subcat as category_name, provinces.id as provinces_id, provinces.prov_name, users.id as users_id, users.*, ads.*');
$this->db->where('ads.hash', $hash);
$this->db->join('category', 'category.id = ads.subcat_id');
$this->db->join('provinces', 'provinces.id = ads.province_id');
$this->db->join('users', 'users.id = ads.user_id', 'left');
$r = $this->db->get('ads');
//echo $this->db->last_query();
if ($r->num_rows() == 1) {
$ad = $r->result()[0];
return $ad;
}
return FALSE;
}
而且它的正常工作。但是今天我試圖破解自己在URL中引入類似的散列,以及它的工作,但這不是期望的行爲。
所以這個散列:編輯/ zIpM41NkS8igFXaC必須NO是相同的編輯/ zIpM41NkS8igFXac
注意最後一個字符(C/C) 我怎樣區分大小寫的查詢?
我的方法是使用Codeigniter的特定方法,而不是使用直接的SQL語句。但無論如何工作。
更改列的編碼來區分sensititve?也請看看[post](https://stackoverflow.com/questions/5629111/how-can-i-make-sql-case-sensitive-string-comparison-on-mysql) – Rulisp
[mysql ,通過codeigniter區分大小寫比較](https://stackoverflow.com/questions/2538114/mysql-case-sensitive-compare-through-codeigniter) – Vixed
我該怎麼做? –