我的 while 循环有问题。很难解释,但是 count 函数总是返回 1,当它应该返回 0 时也是如此......
这是我的代码:
$query = mysql_query("select SongID, Songtitel, artwork, duration, Upvote, SCID from tMusic order by Songtitel ASC") or die(mysql_error());
$activeUserID = $_SESSION["user_id"];
while ($temp = mysql_fetch_array($query)) {
if (strlen($temp['Songtitel']) >= 47) {
$ifToLong = "...";
} else {
$ifToLong = "";
}
$activeSongID = $temp['SongID'];
$fistquery = mysql_query("select * from tMusicFists where SongID = ".$activeSongID." and UserID = ".$activeUserID."") or die(mysql_error());
echo '<div class="songdiv" onclick="StreamStart('.$temp['SCID'].'); playTrack(); changeSongtitle('.$temp['Songtitel'].');">';
echo '<div class="songimgdiv"><img class="songimg" src="'.$temp['artwork'].'" alt=""></div>';
echo '<div class="songinfodiv">';
echo '<div class="songtitleinfodiv"><p class="songtitleinfo">'.$activeSongID.' '.$activeUserID.' '.count($fistquery).'</p></div>';
echo '<div class="songdurationdiv"><p class="durationcount">';
$input = $temp[duration];
$uSec = $input % 1000;
$input = floor($input / 1000);
$seconds = $input % 60;
$input = floor($input / 60);
$minutes = $input % 60;
$input = floor($input / 60);
echo $minutes.':'.$seconds;
echo '</p></div>';
if(count($fistquery) > 0) {
echo '<div class="songratingdiv"><img class="thumbupimg" src="../images/likebrofist.png" alt=""><p class="thumbupnumber">'.$temp['Upvote'].'</p></div>';
} else {
echo '<div class="songratingdiv"><img class="thumbupimg" src="../images/brofist.png" alt=""><p class="thumbupnumber">'.$temp['Upvote'].'</p></div>';
}
echo '</div>';
echo '</div>';
}
mysql_close();
我知道我不应该使用 mysql 函数,但我必须那样尝试...
谢谢
最佳答案
$fistquery = mysql_query("select * from tMusicFists where SongID = ".$activeSongID." and UserID = ".$activeUserID."") or die(mysql_error());
count($fistquery);
不行....尝试使用 mysql_num_rows($firstquery);
关于php - MySQL 总是在循环中取错 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32667690/