我打算在http://www.pui.ch/phred/archives/2005/04/tags-database-schemas.html上使用scuttle解决方案来处理我网站上的搜索。我想知道如何从用户那里获取搜索输入并将其转换为单个查询。
例如,假设用户在搜索查询中输入了“蓝狗”...我怎样才能动态更新查询以在联合和交叉查询中包含('blue','dogs')?
答案 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."')";