PHP中的MySQL Query不会打印结果

时间:2013-04-01 14:33:27

标签: php html mysql

这是我查询的php脚本:

    $query="SELECT f.EVENT, 
    f.LOCATION, 
    f.DOE, 
    f.CATEGORY, 
    f.LOGLOC, 
    f.LOGDOE, 
    f.LOGCAT, 
    ((( f.NUMOFTIMESLOC * ( Log(f.LOGLOC) ) ) + 
                                             ( f.NUMOFTIMESDOE * ( Log(f.LOGDOE) ) ) + ( 
                                           f.NUMOFTIMESCAT * (Log(f.LOGCAT))))) AS FINALRANK 
                                FROM   (SELECT E.EVENT, 
                                               ED.LOCATION, 
                                               ED.DOE, 
                                               ED.CATEGORY, 
                                               ( ( ED.NUMOFDATASET / ED.NUMOFTIMESLOC ) * 100 ) AS LOGLOC, 
                                               ( ( ED.NUMOFDATASET / ED.NUMOFTIMESDOE ) * 100 ) AS LOGDOE, 
                                               ( ( ED.NUMOFDATASET / ED.NUMOFTIMESCAT ) * 100 ) AS LOGCAT, 
                                               ED.NUMOFTIMESLOC, 
                                               ED.NUMOFTIMESDOE, 
                                               ED.NUMOFTIMESCAT 
                                        FROM   EVENT E, 
                                               EVENTDETAIL ED 

                                        WHERE  E.EVENTID = ED.EVENTID 
                                               AND ED.LOCATION = 'Liverpool' 
                                               AND ED.CATEGORY = 'Concerts') f ORDER BY FINALRANK";
                                $result=mysql_query($query);
                                $num=mysql_numrows($result);
                                mysql_close();
                                $i=0;
                                if(!$num){
                                    echo ("No Results");
                                }
                                else{
                                    while ($i < $num) {
                                        $eventid=mysql_result($result,$i,"eventid");
                                        echo $eventid;
                                        echo"<br>";
                                        $i++;
                                    }
                                }

当在命令控制器中运行此查询时,它可以正常工作并为查询打印2个结果,但是当与PHP一起使用时,它只返回“无结果”。请帮忙!

3 个答案:

答案 0 :(得分:4)

  • 您的问题是您在输出结果之前按mysql_close();关闭连接

删除mysql_close();的ligne并将其作为最后一个结果。

  • 并确保将此mysql_numrows更改为mysql_num_rows

答案 1 :(得分:3)

我认为这是因为mysql_numrows()。这应该是mysql_num_rows()。在这里改变它。

$num=mysql_num_rows($result);

答案 2 :(得分:0)

$num=mysql_numrows($result);  

这是错误的功能名称,它是

$num=mysql_num_rows($result);

mysql_num_rows

这样你的$num就不会是假的,你不会看到“没有结果”的消息;目前由于这个错误,它被设置为false,因此你的if总是触发