Php mysqli_fetch_array()-添加另一列以匹配时出错
我正在用PHP开发一个小的搜索引擎应用程序,我被网站排名所困扰。在代码中我有一个简单的查询,它应该匹配用户查询(输入)和网站描述Php mysqli_fetch_array()-添加另一列以匹配时出错,php,mysql,Php,Mysql,我正在用PHP开发一个小的搜索引擎应用程序,我被网站排名所困扰。在代码中我有一个简单的查询,它应该匹配用户查询(输入)和网站描述 $row2 = []; $search_word = false; if(isset($_POST["submit"])) { //edit this with your credentials $con = mysqli_connect("localhost", "root", "uThx6wuf", "search"); if(mysql
$row2 = [];
$search_word = false;
if(isset($_POST["submit"])) {
//edit this with your credentials
$con = mysqli_connect("localhost", "root", "uThx6wuf", "search");
if(mysqli_connect_error()) echo "Connection Fail";
else {
$search_word = true;
$input = $_POST["s_input"];
// tokenize input
$tokens = tokenize($input);
//compute weight of every token
$token_weight = compute_weight($tokens, $con);
$sql2 = "SELECT *, match(description) against('". $input ."') as score FROM search where match(description) against('".$input."') order by score desc";
$result2 = mysqli_query($con, $sql2);
$sql3 = "SELECT * FROM search";
$numDocs = (mysqli_num_rows(mysqli_query($con, $sql3)));
$maxOverlap = sizeof($tokens);
$ctr2 = 0;
while($ctr2 != $maxOverlap){
//compute inverse_document_frequency of term
$sql3 = "SELECT *, match(description) against('".$tokens[$ctr2]."') FROM search where match(description) against('".$tokens[$ctr2]."')";
$docFreq = (mysqli_num_rows(mysqli_query($con, $sql3)));
$idf[$tokens[$ctr2]] = idf($numDocs, $docFreq);
$ctr2++;
}
当我添加另一列进行匹配时,每次都会出现错误
mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in
已编辑查询的代码:
$sql2 = "SELECT *, match(description, title) against('". $input ."') as score FROM search where match(description, title) against('".$input."') order by score desc";
首先,如果查询正常,请首先在sql浏览器中使用数据库中的现有信息运行查询 如果正常,则检查是否接收到输入
您的错误似乎来自sql语法,或者输入被输入到sql语法 请尝试将该错误粘贴到搜索框中。它已经被问了几十次了。只有一个错误——我把它粘贴到了问题中。我可以毫无问题地运行旧的查询(sql browser,php),但一旦我在match(标题)中添加了另一列,它就会给我一个错误——在sql browser中,它是#1191——找不到与列列表匹配的全文索引。