php - MySQL 总是在循环中取错 ID

标签 php mysql

我的 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/

相关文章:

php - 如何更改使用 phpexcel 生成的折线图的样式?

php - 在 MySQL 中获取所有内容或 GROUP BY?

PHP DOMDocument 用 div id 替换内容

php - 使用 x10hosting 查询 Minecraft 服务器

mysql - 如何从另一列和另一张表计算日期?

即使存在引用,MySQL 外键错误

mysql - 从同一个表计算回合(平均值)并连接

mysql - 在查询和 LIMIT 之后应用 ORDER BY

javascript - 提取元素的 HTML

php - 个人资料图片的 Laravel Spark 符号链接(symbolic link)不起作用