2016-06-12 65 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