Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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_Codeigniter - Fatal编程技术网

Php 全文搜索查询在CodeIgniter中不起作用

Php 全文搜索查询在CodeIgniter中不起作用,php,codeigniter,Php,Codeigniter,我试图在CodeIgniter中运行全文索引搜索 我的搜索功能如下所示: public function get_searchresult_count($searchresult) { $today_date = date('Y-m-d'); $db_photos = $this->load->database('photos', TRUE); $db_photos->select('*'); $db_photos->from('photo

我试图在CodeIgniter中运行全文索引搜索

我的搜索功能如下所示:

public function get_searchresult_count($searchresult)
{
    $today_date = date('Y-m-d');
    $db_photos = $this->load->database('photos', TRUE);
    $db_photos->select('*');
    $db_photos->from('photos');
    $db_photos->where('MATCH (`title`, `description`) AGAINST ("'.$searchresult.'")', NULL);
    $db_photos->where('approved', '1');
    return $db_photos->count_all_results();
}
我需要返回
count_all_results
,因为它需要为结果分页获取一个数字

我无法使其工作,我遇到以下错误:

错误号码:1064

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 第3行“1”附近的“石灰”和
批准

从(
photos
)中选择COUNT(*)作为
numrows
,其中
MATCH
title
),
说明
)对照(“石灰”)和
批准
=“1”


有什么想法吗?

您需要运行选择查询并返回结果。在“where”子句之后,尝试添加:

$query = $db_photos->get();
return $query->count_all_results();

希望有帮助。

您需要将
where()
函数的第三个参数设置为false,以防止参数自动转义。否则,将转义match子句中的引号并创建无效查询

从AR手册页面逐字记录

$this->db->where()接受可选的第三个参数。若您将其设置为>FALSE,CodeIgniter将不会尝试使用反勾号保护您的字段或表名


您是否检查过该查询是否在mysql cli或phpmyadmin上工作?在最新的CodeIgniter中,查询没有count\u all\u results()方法
$this->db->where('MATCH (field) AGAINST ("value")', NULL, FALSE);