如何获取DB列中以逗号分隔的单词列表,并将它们与用户输入进行比较?

时间:2018-05-09 12:35:33

标签: php mysqli

我有一个数据库,其中一个表,该列有一个由逗号分隔的单词列表,必须进行比较并相应地选择。但到目前为止,在PHP中,我已经在列类单元格中编写了一个单词的SQL代码,

<?PHP 
    $sql2 = "SELECT * FROM table WHERE name = 'name'";
    $result2 = $conn->query($sql2);
    if ($result2->num_rows > 0) { 
       while($row2 = $result2->fetch_assoc()) { 
?>

但是在这里,我有一个由列分隔的名称列中的单词列表。 如何编写代码将所有单词提取为单个单词并使用用户输入文本检查每个单词?

希望我明白,任何帮助都表示赞赏..

1 个答案:

答案 0 :(得分:0)

使用filter_input()输入, 使用explode()作为输入, 将SQL IN或SQL REGEX用于和/或用于SQL Part。

$clean_userinput = filter_input(INPUT_GET, "userinput", FILTER_SANITIZE_STRING); 

喜欢$ _GET [“userinput”]

$array_userinput = explode(" ", $clean_userinput); 
$in = "(";

for($i=0;$i <count($array_userinput); $i++) {
    $in .= "'" . trim($array_userinput[$i]) . "'";
}

$in .= ")"
$sql2 = "SELECT * FROM table WHERE name IN ". $in;

这一切都很简单。 php.net是您最好的来源。