我想在我的SQL查詢的WHERE位中列出for語句的所有結果($ photosToPromote [$ i])。在WHERE SQL語句中使用PHP FOR循環
目前,for語句輸出結果的文本列表,如果在上一頁中只選擇了一張照片,SQL將拾取1張$ photosToPromote。如果選擇了多張照片,那麼FOR語句將它們全部列出,但是SQL沒有找到它們並顯示圖像。
在將它放入SQL之前,是否需要使用mysql_real_escape_string?我怎樣才能做到這一點?
$photosToPromote = $_POST['promotePhoto'];
if(empty($photosToPromote))
{
echo("<p class=\"error\">You didn't select any photos so go back and start again!");
}
else
{
$N = count($photosToPromote);
echo("You selected $N photos(s): ");
for($i=0; $i < $N; $i++)
{
echo($photosToPromote[$i] . " ");
}
}
$queryUserPhotos = mysql_query("SELECT photoID FROM photos WHERE photoid='$photosToPromote[$i]' AND (auth = '5' OR auth = '2' OR auth = '4') ORDER BY auth DESC") or die("Something went wrong...please try this again later!");
while($resultUserPhotos = mysql_fetch_array($queryUserPhotos)){
<img src=\"/$imgpath/$resultUserPhotos[photoID].jpg\" alt=\"Your Photo\"/>
}
注意'mysql_ *'功能被棄用(參見[紅色框](http://php.net/mysql_query))。一般來說,最好使用參數化查詢。 – 2013-03-24 15:23:51