这是我查询的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一起使用时,它只返回“无结果”。请帮忙!
答案 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);
这样你的$num
就不会是假的,你不会看到“没有结果”的消息;目前由于这个错误,它被设置为false,因此你的if总是触发