【问题标题】:while loop is not working with max(eno) querywhile 循环不适用于 max(eno) 查询
【发布时间】:2014-09-24 13:39:52
【问题描述】:

我使用了查询:

$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;
}

【问题讨论】:

    标签: php mysql while-loop


    【解决方案1】:
    $sql = mysql_query("SELECT MAX(eno) FROM employee");
    

    仅获取一条值为最大 eno 的记录。为此,您不需要运行任何循环

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

    会给你结果 -

    $row['MAX(eno)'];
    

    而$sql = mysql_query("SELECT * FROM employee"); 将获取表employee 上的所有记录

    【讨论】:

      【解决方案2】:

      你必须使用$row[0]

      $sql = mysql_query("SELECT MAX(eno) FROM employee");
      
      while ($row = mysql_fetch_assoc($sql)) {
      
          $asd = $row[0];
          echo "eno".$asd;
      }
      

      【讨论】:

        【解决方案3】:

        你需要提供一个别名

        SELECT MAX(eno) as eno FROM employee
        

        同样使用 max() 会给你一行,所以不需要通过循环获取,你可以使用其他函数,最重要的是你必须开始使用准备好的语句。

        检查下面的线程

        Fetch only one row in PHP/MySQL

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-06-07
          • 2023-03-14
          • 2015-08-09
          • 1970-01-01
          • 2011-10-11
          • 2013-03-11
          • 2020-06-12
          相关资源
          最近更新 更多