0
**回答..逗號後有空格。感謝大家!php循環mysql只執行一次
當我執行下面的代碼時,會顯示所有的$ castmember,但mysql只在第一個上運行。
$getactors=explode(",", $actors);
foreach($getactors as $castmember){
$idolid="";
$srch3= "SELECT `id`,`dir` FROM `idols` WHERE `name`='$castmember'";
$result5 = mysql_query($srch3);
while ($row5 = mysql_fetch_assoc($result5)) {
$idolid = $row5["id"];
$idoldir= $row5["dir"];
}
if($idolid){ echo"<li style=\"font-size:1.2em;\" ><a href=\"/gallery/$idolid/$idoldir.html\" title=\"$castmember\" itemprop=\"actors\"> $castmember</a>";
} else {
echo"<li style=\"font-size:1.2em;\"><div style=\"display:inline\" itemprop=\"actors\"> $castmember</div>";
}
echo"<span></span></li>\n";
}
那麼問題是什麼? – fedorqui 2013-02-15 19:50:58
** mysql只運行在第一個。**更詳細地解釋這一行。 – SachinGutte 2013-02-15 19:52:58
在'$ getactors'上做'var_dump',它是你期望的數組嗎?如果它使用foreach迭代多次,那麼問題可能是where子句中的值有一些額外的空格,並且SQL不返回任何結果。可以在循環中回顯'$ srch3'來查看你的建築物。 – ficuscr 2013-02-15 19:55:18