【发布时间】:2013-03-24 15:06:31
【问题描述】:
我想在我的 SQL 查询的 WHERE 位中列出 for 语句的所有结果 ($photosToPromote[$i])。
此时,for 语句输出结果的文本列表,如果在前一页上只选择了一张照片,则 SQL 会选择 $photosToPromote 中的 1 张。如果选择了多张照片,则 FOR 语句将它们全部列出,但 SQL 不会找到它们并显示图像。
在将 mysql_real_escape_string 放入 SQL 之前是否需要使用它?我该怎么做呢?
$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_*函数已被弃用(请参阅red box)。一般来说,最好使用参数化查询。