可以让它显示即使在phpMyAdmin它运行正常并给我平均值,但当我在网页上运行它不显示表
<?php
echo "<table border='1' style='border-collapse: collapse;border-color: silver;'>";
echo "<tr style='font-weight: bold;'>";
echo "<td width='200' align='center'>Avrage Age*</td>";
echo "</tr>";
include("dbopen.php");
$result = mysql_query("
SELECT AVG(Age)
FROM(
SELECT N, Dob, Age
FROM (
SELECT N, Dob, CURDATE( ) , (
YEAR( CURDATE( ) ) - YEAR( F )
) - ( RIGHT( CURDATE( ) , 5 ) < RIGHT( F, 5 ) ) AS Age
FROM tableages_)alias
WHERE Age BETWEEN 18 AND 65) As agea ");
while($row=mysql_fetch_array($result))
{
echo "<tr>";
echo "<td align='center' width='200'>" . $row['agea'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
答案 0 :(得分:1)
你可以在sql:
中进行一些小修改SELECT
AVG(Age) as agea
FROM
(
SELECT
N,
Dob,
CURDATE( ) ,
(YEAR( CURDATE( ) ) - YEAR( F )) - ( RIGHT( CURDATE( ) , 5 ) < RIGHT( F, 5 ) ) AS Age
FROM tableages_
) alias
WHERE Age BETWEEN 18 AND 65
您应该使用mysql_fetch_assoc
将结果设为$row['agea']
。哦,并且只有一行,所以不要使用while循环,这是没有必要的。
顺便说一下,我不建议您使用mysql驱动程序,它已经过时并且存在安全问题。您应该使用PDO driver代替。在那里你应该在你的陈述中使用一个获取列。