$search = htmlspecialchars($_GET["s"]);
if(isset($_GET['s'])) {
// id index exists
$wordarray = explode(" ",$search);
$stringsearch = implode('%',$wordarray);
echo $stringsearch;
echo ",";
$result = mysqli_fetch_array($conn->query("SELECT ID FROM table WHERE title LIKE '%$stringsearch%';"));
if (!empty($result)) {
echo sizeof($result);
echo ",";
數據庫有3行標題test,pest,嵌套對應的id爲1,2,3。當我請求domain.com/?s=est無法正確檢索索引mysqli
它回聲像這樣 EST,2,
現在,當我檢查$結果[0]和$結果[1],$結果[0]呼應和$ result [1]沒有迴應任何東西。當我使用foreach函數時,它只取值$ result [0]
並且$ result應該是所有三個索引的數組。
我找不到任何錯誤, 當我在SQL控制檯鍵入相同的命令它的工作原理,有人幫助我,在此先感謝。
你的代碼很容易被sql注入 - 而htmlspecialchars在這裏是沒用的:) – Martin
現在你能解釋一下如何去除sql漏洞嗎? @Martin – Harwee
我會推薦使用準備好的語句,你也可以使用mysqli_real_escape_string – Martin