Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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 在Mysql数据库中搜索所选行_Php_Mysql_Mysqli_Prepared Statement - Fatal编程技术网

Php 在Mysql数据库中搜索所选行

Php 在Mysql数据库中搜索所选行,php,mysql,mysqli,prepared-statement,Php,Mysql,Mysqli,Prepared Statement,我正在尝试使用PHP中的mysqli prepared语句进行查询。 我只想在选定的行上使用关键字进行搜索 $stmt = $this->conn->prepare("SELECT complaint_id FROM complaints WHERE user_id = ? AND status IN (?,?) AND

我正在尝试使用PHP中的mysqli prepared语句进行查询。 我只想在选定的行上使用关键字进行搜索

$stmt = $this->conn->prepare("SELECT complaint_id 
                              FROM complaints WHERE user_id = ? 
                              AND status IN (?,?) AND 
                              complaint_id IN ( SELECT complaint_id FROM complaints Where MATCH (body) AGAINST ( ? )) 
                              ORDER BY user_id ASC");
$stmt->bind_param("iiis", $user_id,$status1,$status2,$keyword);

我知道我需要做一个子查询。但有人能解释一下执行子查询的格式吗?或者我的方法正确吗?

您根本不需要执行子查询。只需将其他条件添加到select语句中,如:

选择投诉\u id
来自用户_id=?
以及(?、)和中的状态
(身体)与(?)
按用户订购\u id ASC
结果将与限制具有用户id、状态和正文匹配的记录相同

此外,通过运行以下SQL确保列上有全文索引:

ALTER TABLE投诉添加全文(正文);

您根本不需要执行子查询。只需将其他条件添加到select语句中,如:

选择投诉\u id
来自用户_id=?
以及(?、)和中的状态
(身体)与(?)
按用户订购\u id ASC
结果将与限制具有用户id、状态和正文匹配的记录相同

此外,通过运行以下SQL确保列上有全文索引:

ALTER TABLE投诉添加全文(正文);

我在执行上述语句时出错“找不到与列列表匹配的全文索引”我在执行上述语句时出错“找不到与列列表匹配的全文索引”