簡體   English   中英

如何在mysql搜索查詢中使用php數組?

[英]How can I use a php array in a mysql search query?

我打算使用scuttle解決方案: http ://www.pui.ch/phred/archives/2005/04/tags-database-schemas.html來處理我網站上的搜索。 我想知道如何從用戶那里獲取搜索輸入並將其轉換為單個查詢。

例如,假設用戶在搜索查詢中輸入了“藍狗”...我怎樣才能動態更新查詢以在聯合和交叉查詢中包含('blue','dogs')?

這里發布的方法是正確的,只需要一點安全補充:不要忘記逃避用戶輸入的數據,否則你只需一步遠離SQL注入。 或者避免查詢並使用預處理語句: PHPManual Prepared Statements

例如,您的用戶輸入是“藍狗”,然后在頁面上

$searchstring = "blue dogs"; // or fetch the input
$arr = explode(" ",$searchstring); //this is explode the text by every "space" character

你現在有數組$ arr中的用戶輸入字符串,現在就像你通常那樣在查詢中使用它

你可以這樣做:

$search_string = implode(',', $search_array);

現在在您的查詢中,您可以使用IN子句:

$query = "select * from table where field IN ('".$search_string."')";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM