2016-06-12 67 views
0

我想costruct下面的代码,让我在如何从多个下拉菜单中创建OR mySQL查询?

WHERE (url='abc' OR url='def' OR url='ghi') 

形式创建具有多个url的查询,但我有一些语法难点

$str ='url="'; 
foreach($_POST['future_visited_page'] as $vals) { 
    $str .= $vals.'" OR url="'; 
} 
$newstr = mysql_real_escape_string($str); 
echo rtrim($newstr, ' OR url="'); 

我现在的结果是这个:

url=\"/abc\" OR url=\"/def\" OR url=\"/ghi\" OR url=\ 

我该如何解决这个问题?

+0

看一看'in'条款。 – potashin

+0

Escape'$ vals',不是整个查询。转义查询将转义您的字符串封装。 – chris85

回答

0

你在这里

<?php 
$vals = array_map('mysql_real_escape_string', $_POST['future_visited_page']); 

echo 'url="'.implode('" OR url="', $vals).'"' 
+0

这将使OP开放给SQL注入。 – chris85

+0

不一定,也许$ _POST的内容已被消毒(我希望如此) –

+0

由于OP对数据我使用'mysql_real_escape_string'',我猜不是。 – chris85