- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道只有使用 LOWER 和 strlower 才能解决问题。但我面临的问题是语法,因为我正在使用数据表库,并且他们没有将其设置为不敏感,所以我需要做很少的更新。
上次它对我有用
like('LOWER(' .$field. ')', strtolower($value));
但现在主要查询是
$sWhere .= $this->select[$mColArray[$i]] . " LIKE '%" . $sSearch . "%' OR ";
所以我尝试这样
$sWhere .= $this->select[."LOWER(".$mColArray[$i].")".] . " LIKE '%" . strtolower($sSearch) . "%' OR ";
但是我不擅长这个符号,请任何人都可以帮助我,因为我遇到了错误..
此行来自以下函数的 Ignited-dataTables 库。
protected function get_filtering()
{
if($this->check_mDataprop())
$mColArray = $this->get_mDataprop();
elseif($this->ci->input->post(mysql_real_escape_string('sColumns'))){
$mColArray = explode(',', $this->ci->input->post('sColumns'));
$mColArray = array_filter($mColArray);
if(empty($mColArray)){
$mColArray = $this->columns;
}
}
else
$mColArray = $this->columns;
$sWhere = '';
$sSearch = mysql_real_escape_string($this->ci->input->post('sSearch'));
$mColArray = array_values(array_diff($mColArray, $this->unset_columns));
$columns = array_values(array_diff($this->columns, $this->unset_columns));
if($sSearch != '')
for($i = 0; $i < count($mColArray); $i++)
if($this->ci->input->post('bSearchable_' . $i) == 'true' && in_array($mColArray[$i], $columns))
$sWhere .= $this->select[$mColArray[$i]] . " LIKE '%" . $sSearch . "%' OR ";
$sWhere = substr_replace($sWhere, '', -3);
if($sWhere != '')
$this->ci->db->where('(' . $sWhere . ')');
for($i = 0; $i < intval($this->ci->input->post('iColumns')); $i++)
{
if(isset($_POST['sSearch_' . $i]) && $this->ci->input->post('sSearch_' . $i) != '' && in_array($mColArray[$i], $columns))
{
$miSearch = explode(',', $this->ci->input->post('sSearch_' . $i));
foreach($miSearch as $val)
{
if(preg_match("/(<=|>=|=|<|>)(\s*)(.+)/i", trim($val), $matches))
$this->ci->db->where($this->select[$mColArray[$i]].' '.$matches[1], $matches[3]);
else
$this->ci->db->where($this->select[$mColArray[$i]].' LIKE', '%'.$val.'%');
}
}
}
foreach($this->filter as $val)
$this->ci->db->where($val[0], $val[1], $val[2]);
}
最佳答案
问题已解决。搜索有效,但现在不敏感。新代码。
protected function get_filtering()
{
if($this->check_mDataprop())
$mColArray = $this->get_mDataprop();
elseif($this->ci->input->post(mysql_real_escape_string('sColumns'))){
$mColArray = explode(',', $this->ci->input->post('sColumns'));
$mColArray = array_filter($mColArray);
if(empty($mColArray)){
$mColArray = $this->columns;
}
}
else
$mColArray = $this->columns;
$sWhere = '';
$sSearch = mysql_real_escape_string($this->ci->input->post('sSearch'));
$mColArray = array_values(array_diff($mColArray, $this->unset_columns));
$columns = array_values(array_diff($this->columns, $this->unset_columns));
if($sSearch != '')
for($i = 0; $i < count($mColArray); $i++)
if($this->ci->input->post('bSearchable_' . $i) == 'true' && in_array($mColArray[$i], $columns))
$sWhere .= "UPPER(".$this->select[$mColArray[$i]] . ") LIKE '%" . strtoupper($sSearch) . "%' OR ";
$sWhere = substr_replace($sWhere, '', -3);
if($sWhere != '')
$this->ci->db->where('(' . $sWhere . ')');
for($i = 0; $i < intval($this->ci->input->post('iColumns')); $i++)
{
if(isset($_POST['sSearch_' . $i]) && $this->ci->input->post('sSearch_' . $i) != '' && in_array($mColArray[$i], $columns))
{
$miSearch = explode(',', $this->ci->input->post('sSearch_' . $i));
foreach($miSearch as $val)
{
if(preg_match("/(<=|>=|=|<|>)(\s*)(.+)/i", trim($val), $matches))
$this->ci->db->where($this->select[$mColArray[$i]].' '.$matches[1], $matches[3]);
else
$this->ci->db->where('UPPER('.$this->select[$mColArray[$i]].') LIKE', '%'.strtoupper($val).'%');
}
}
}
foreach($this->filter as $val)
$this->ci->db->where($val[0], $val[1], $val[2]);
}
我改变了
$sWhere .= $this->select[$mColArray[$i]] . " LIKE '%" . $sSearch . "%' OR ";
进入
$sWhere .= "UPPER(".$this->select[$mColArray[$i]] . ") LIKE '%" . strtoupper($sSearch) . "%' OR ";
还有已更改
$this->ci->db->where($this->select[$mColArray[$i]].' LIKE', '%'.$val.'%');
进入
$this->ci->db->where('UPPER('.$this->select[$mColArray[$i]].') LIKE', '%'.strtoupper($val).'%');
关于PHP codeIgniter 查询区分大小写,想要使其不敏感,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25499148/
我这里有一些(遗留)代码,似乎在LD_LIBRARY_PATH上调用setenv(其值在编译时未知,实际上它将从命令中获取)行),现在我必须将其移植到 Windows。我怀疑 setenv 只是出于历
我在 SSIS 包上有一个敏感字符串参数,用于存储远程服务器的密码。 但是,当字符串值包含花括号时,作业代理会在配置该步骤的包参数时抛出错误: Microsoft SQL Server Managem
我们都非常了解 strictfp 的工作原理。 像这样: package com.hk.basicjava.tests.strictfp; import java.util.*; public cla
我正在对我的博客进行简单搜索。我使用亚美尼亚语,当我搜索时,这些字母总是很敏感。这是我的代码的一部分。提前谢谢你。 search_query = get.get('search') query_lis
我正在对我的博客进行简单搜索。我使用亚美尼亚语,当我搜索时,这些字母总是很敏感。这是我的代码的一部分。提前谢谢你。 search_query = get.get('search') query_lis
想象一下这个非常基本的可拖放设置: #dropArea 是可放置的。 #itemBox > .item 是可拖动对象。 由于某种原因,droppable
我有这样的网址: http://quickstart.local/public/category1/product2 并且在 url (category1/product2) 数字是 id ,从数据库
我是一名优秀的程序员,十分优秀!