Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter生成的语句未给出预期的结果_Php_Sql_Codeigniter_Search - Fatal编程技术网

Php CodeIgniter生成的语句未给出预期的结果

Php CodeIgniter生成的语句未给出预期的结果,php,sql,codeigniter,search,Php,Sql,Codeigniter,Search,我已经打印出了一个CI生成的代码,所以我们来谈谈这个语句,因为这样会更容易。这是: SELECT * FROM (`ads`) WHERE `status` = 2 AND `province` = '5' AND `title` LIKE '%شریف%' OR `content` LIKE '%شریف%' OR `name` LIKE '%شریف%' OR `keywords` LIKE '%شریف%' ORDER BY `stars` DESC 但

我已经打印出了一个CI生成的代码,所以我们来谈谈这个语句,因为这样会更容易。这是:

SELECT * 
FROM (`ads`) 
WHERE `status` = 2 AND `province` = '5' AND `title` LIKE '%شریف%' 
      OR `content` LIKE '%شریف%' OR `name` LIKE '%شریف%' 
      OR `keywords` LIKE '%شریف%' 
ORDER BY `stars` DESC

但是,它显示了该省值为“8”的结果,而在声明中说,该省仅获得值为“5”的结果。为什么它不能正常工作?

运算符
的优先级高于运算符
。这意味着,如果您查询:

select  *
from    applicants
where   expected_salary < 10
        or knowledge = 'high' 
        and has_residency_permit = 'true'
选择*
来自申请人
如果期望工资<10
或知识=‘高’
并且拥有居住许可证='true'
你可以找一个没有居留许可证的低工资的人。解决方案是使用括号覆盖优先级:

select  *
from    applicants
where   (expected_salary < 10
        or knowledge = 'high')
        and has_residency_permit = 'true'
选择*
来自申请人
其中(预期工资<10
或知识=‘高’)
并且拥有居住许可证='true'
此查询仅返回持有居留许可证的申请人。

您可以尝试此查询(
CI
支持)


转到上面的给定链接并查找
自定义字符串

不要每隔10秒重新发布相同的问题。
$where = "title LIKE '%شریف%' OR content LIKE '%شریف%' OR name LIKE '%شریف%' OR keywords LIKE '%شریف%'";
$this->db->select('*');
$this->db->from('ads');
$this->db->where($where);
$this->db->where("status = 2 AND province = '5'");
$this->db->order_by('stars', 'desc');