如何使用LIKE语句检查SQL表中是否存在数组中的每个值?

时间:2019-07-10 06:46:59

标签: php sql mysqli

我有一个单词数组,我想遍历该数组以检查sql表中是否存在这些单词。如果存在,则应返回特定行。

我尝试过在for循环内使用sql语句,该语句将变量i迭代,并检查SQL表中是否存在数组中的每个单词。

/*This code produces the separate tags or words from the 'tag' which contains comma separated values*/
if($result == True){
    while($row = $result->fetch_assoc()){
        $tag_string = $row['tag'];
        echo $row['tag'];

    }
}

$tag_arr = explode(",", $tag_string);
/*This is the part where there is an error (Undefined index i in the sql query)*/

for($i=0; $i <= count($tag_arr); $i++){
    $sql1 = "select count from skills where skills.skill like '%'$tag_arr[i]'%' or '%'tag_arr[i] or tag_arr[i]'%'";
    $result1 = mysqli_query($conn, $sql1);      
    if($result1 == True){
        while($row = $result1->fetch_assoc()){
            //$tag_string = $row['tag'];
            echo $row['count'];

        }
    }
}

SQL查询语句中出现错误。

  

“未定义索引:i”

这是我的“技能”表的结构:

enter image description here

0 个答案:

没有答案