在網站開發中,搜索查詢商品名稱是非常常見的需求。在MySQL中,可以通過使用LIKE語句來實現模糊搜索。下面是一個簡單的例子:
SELECT * FROM products WHERE name LIKE '%iphone%'
上面的代碼將從products表中查詢名稱中包含“iphone”的所有商品。在LIKE語句中,百分號(%)是通配符,表示匹配任意字符。例如,“%iphone%”將匹配“iphone 11”、“iPhone X”等等。
如果需要同時查詢多個關鍵字,可以使用OR語句:
SELECT * FROM products WHERE name LIKE '%iphone%' OR name LIKE '%華為%'
這將從products表中查詢名稱中包含“iphone”或“華為”的所有商品。
然而,如果想要用戶輸入一個關鍵字,而不是硬編碼在查詢中,可以使用PHP的變量和Prepare語句來實現:
prepare("SELECT * FROM products WHERE name LIKE ?"); // 綁定參數并執行查詢 $stmt->bind_param("s", "%" . $keyword . "%"); $stmt->execute(); // 獲取查詢結果 $result = $stmt->get_result(); // 處理查詢結果 while ($row = $result->fetch_assoc()) { echo $row['name']; } // 關閉連接和查詢語句 $stmt->close(); $mysqli->close(); ?>
上面的代碼使用了PHP的$_POST變量獲取用戶輸入的關鍵字,并使用Prepare語句和bindValue方法來實現安全查詢。這樣可以保證用戶輸入不會被作為SQL語句的一部分解釋。
綜上所述,通過使用LIKE語句和PHP的Prepare語句,可以實現可靠的商品搜索查詢功能。
上一篇mysql搜索最后兩個字
下一篇mysql搜索引擎查詢多