Php 函数中的Mysql函数我缺少什么
可以让它显示,即使在phpMyAdmin中它运行良好,并给出平均值,但当我在网页上运行它时,它不会显示表Php 函数中的Mysql函数我缺少什么,php,mysql,arrays,function,row,Php,Mysql,Arrays,Function,Row,可以让它显示,即使在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
<?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>";
?>
您可以通过对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驱动程序,它很旧并且存在安全问题。你应该改用。在这种情况下,您应该在语句中使用fetch列。当您运行函数时,标记是什么样子的?您是否选择了正确的数据库?是的,我选择了正确的数据库。我有另一个PHP脚本,它使用相同的dbopen.PHP行运行,并且运行良好,您需要什么标记?phpmyadmin运行良好,并在php页面上显示此结果AVGAge 33.0347,但不显示该表