php为sql全文搜索准备的语句

php为sql全文搜索准备的语句,php,mysql,Php,Mysql,大家好,我这里需要帮助,我正在尝试使用PHP prepare语句进行SQL全文搜索这是我尝试过的 //sql 1: $sql = "SELECT title FROM business WHERE MATCH (title,description) AGAINST ('?')"; //sql 2: $sql = "SELECT title FROM business WHERE MATCH (title,description) AGAINST (:string)"; //bind 1: $st

大家好,我这里需要帮助,我正在尝试使用PHP prepare语句进行SQL全文搜索这是我尝试过的

//sql 1: $sql = "SELECT title FROM business WHERE MATCH (title,description) AGAINST ('?')";
//sql 2: $sql = "SELECT title FROM business WHERE MATCH (title,description) AGAINST (:string)";
//bind 1: $stmt->bind_param("s", $q);
//bind 2: $stmt->bind_param(":string", $q)'

$q = $_POST['name'];
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("s", $q);//tried both binds
$stmt->execute();
$stmt->bind_result($title);
while ($stmt->fetch()){
    @$result .= '<a href="'.$title.'" target="_blank"> <div class="dproped container">'.$title.'</div> </a>';
}
$stmt->close();
echo json_encode(array('searchresult' => $result));

那么您想在php中搜索文本文件吗?
sql 1
不正确,您没有引用占位符。我不认为
mysqli
会与
mssql
一起工作。你在使用
mssql
还是
mysql
?@Ben正在搜索database@chris85我不知道Bind 2有语法错误<代码>$stmt->bind_参数(“:string”,$q)”用引号代替分号<代码>sql 1您引用了占位符,因此它是一个文本
,而不是占位符
$sql=“从业务中选择与(?)匹配(标题、说明)的标题”
$db_host = "localhost"; //Host address 
$db_name = "1111"; //Name of Database
$db_user = "111"; //Name of database user
$db_pass = "111"; //Password for database user
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);