Как получить список слов в столбце БД через запятую и сравнить их с пользовательским вводом? - PullRequest
0 голосов
/ 09 мая 2018

У меня есть БД, в которой в одной таблице столбца есть список слов, разделенных запятой, который нужно сравнить и выбрать соответственно. но в 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 голосов
/ 09 мая 2018

Используйте filter_input() для ввода, используйте explode() для ввода, используйте SQL IN или SQL REGEX с и / или для части SQL.

$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 - ваш лучший источник.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...