如何在mysql搜索查询中使用php数组?

时间:2010-05-18 05:28:37

标签: php sql search

我打算在http://www.pui.ch/phred/archives/2005/04/tags-database-schemas.html上使用scuttle解决方案来处理我网站上的搜索。我想知道如何从用户那里获取搜索输入并将其转换为单个查询。

例如,假设用户在搜索查询中输入了“蓝狗”...我怎样才能动态更新查询以在联合和交叉查询中包含('blue','dogs')?

3 个答案:

答案 0 :(得分:1)

这里发布的方法是正确的,只需要一点安全补充:不要忘记逃避用户输入的数据,否则你只需一步远离SQL注入。 或者避免查询并使用预处理语句: PHPManual Prepared Statements

答案 1 :(得分:0)

例如您的用户输入是“蓝狗”,然后在页面上

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

你现在有数组$ arr中的用户输入字符串,现在就像你通常那样在查询中使用它

答案 2 :(得分:0)

你可以这样做:

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

现在,在您的查询中,您可以使用IN子句:

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