亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP/MySQL 無法過濾我的數據

PHP/MySQL 無法過濾我的數據

PHP
蠱毒傳說 2021-09-18 17:08:56
我有一個類似于以下示例的數據集:a, b, c1, 4, 72, 5, 83, 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 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

你最后的輸出是:

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

在 SQL 中轉換為:

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

而你想要實現的是:

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

因此,您必須刪除 $level 周圍的報價,如下所示:

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

我討厭成為那個人,但你應該看看SQL INJECTION


查看完整回答
反對 回復 2021-09-18
  • 1 回答
  • 0 關注
  • 147 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號