PHP / MySQL Проблемы с фильтрацией моих данных - PullRequest
0 голосов
/ 01 июля 2019

У меня есть набор данных, аналогичный приведенному ниже примеру:

a, b, c
1, 4, 7
2, 5, 8
3, 6, 9

Я хочу отфильтровать эти данные на основе столбца, который я ранее выбрал.Например:

В столбце 'a' найдите 2.

Я попытался создать переменную для заданных столбцов и прикрепить ее к функции WHERE MySQL.

Это моя форма:

<form action="buscar.php" method="get">
        <input type="text" name="search" placeholder="">
            <select name="level">
                <option value="">Select an option</option>
                <option value="a">a</option>
                <option value="b">b</option>
                <option value="c">c</option>
            </select>
        <input type="submit" value="Procurar"> 
        </form>

Это мой поисковый код PHP / MySQL:

$level = $_GET['level'];
$search = $_GET['search'];
$result_search = "SELECT * FROM insects WHERE '$level' LIKE '%$search%';
$resultado_search = mysqli_query($conexao, $result_search);

Когда я делаю что-то вроде:

$result_search = "SELECT * FROM insects WHERE a LIKE '%$search%';

ИЛИ

$result_search = "SELECT * FROM insects WHERE b LIKE '%$search%';

Он ищет в столбце, который я указываю, именно то, что я хочу, но когда я ставлю:

$result_search = "SELECT * FROM insects WHERE '$level' LIKE '%$search%';

, он ничего не показывает.

ВВ конце я хочу, чтобы у пользователя была возможность поиска, в каком столбце данный текст будет использоваться для поиска.

1 Ответ

1 голос
/ 01 июля 2019

Ваш последний вывод:

$result_search = "SELECT * FROM insects WHERE '$level' LIKE '%$search%';

которые переводятся в SQL на:

SELECT * FROM insects WHERE 'a' LIKE '%$search%

И то, что вы пытаетесь достичь, это:

SELECT * FROM insects WHERE a LIKE '%$search%

Так что вы должны удалить цитату около уровня $ 1011 *, например:

$result_search = "SELECT * FROM insects WHERE $level LIKE '%$search%';

И я не хочу быть этим парнем, но вы должны посмотреть на SQL INJECTION

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