while循环不能与max(eno)查询一起使用

时间:2014-08-01 10:57:09

标签: php mysql while-loop

我使用了查询:

$sql = mysql_query("SELECT MAX(eno) FROM employee"); 

从数据库中检索最后一条记录,但它不能与while循环一起使用。如果我用过:

$sql = mysql_query("SELECT * FROM employee"); 

此查询然后while循环正常运行。为什么会这样?

$sql = mysql_query("SELECT MAX(eno) FROM employee");

while ($row = mysql_fetch_assoc($sql)) {

   $asd = $row['eno'];
   echo "eno".$asd;
}

3 个答案:

答案 0 :(得分:2)

您需要提供别名

SELECT MAX(eno) as eno FROM employee

同样使用max()将为您提供一行,因此无需通过循环获取您可以使用其他函数,最重要的是您必须开始使用预准备语句。

检查以下主题

Fetch only one row in PHP/MySQL

答案 1 :(得分:1)

$sql = mysql_query("SELECT MAX(eno) FROM employee");

只获取一个值为maximum eno的记录。为此你不需要运行任何循环

$row = mysql_fetch_assoc(mysql_query($sql));

会给你结果 -

$row['MAX(eno)'];

$sql = mysql_query("SELECT * FROM employee");将获取表employee

上的所有记录

答案 2 :(得分:0)

你必须使用$row[0]

$sql = mysql_query("SELECT MAX(eno) FROM employee");

while ($row = mysql_fetch_assoc($sql)) {

    $asd = $row[0];
    echo "eno".$asd;
}