首页 > 解决方案 > 为什么 fetch assoc 在 PDO PHP 中返回 null

问题描述

我正在尝试获取表中列的最大值。我使用 PDO 和 PHP。我已经创建了一个功能来做到这一点。这个功能是:

 function maximaPartida($link){
    try{
    $consulta = $link->prepare("select MAX(idPartida) as maxId from partidas");
    $consulta->execute();
    echo $consulta->getAttribute;
    $result = $consulta->fetch(PDO::FETCH_ASSOC);

    
}catch (PDOException $e){
    $dato = "¡Error!: " . $e->getMessage() . "<br/>";
    echo $dato;
    die();
 }  

}

我以这种方式调用此函数(创建和对象并调用特定方法)但是当我这样做时它返回 NULL。

$partida = new Partida();
$id = $partida->maximaPartida($base->link);
$partida->idPartida = $id['maxId'];

$id 为 NULL。为什么会发生?我可以做什么?

标签: phppdo

解决方案


您的函数不返回任何内容。尝试这个:

function maximaPartida($link)
{
  try {
    $consulta = $link->prepare("select MAX(idPartida) as maxId from partidas");
    $consulta->execute();
    echo $consulta->getAttribute;
    $result = $consulta->fetch(PDO::FETCH_ASSOC);
  } catch (PDOException $e) {
    $dato = "¡Error!: " . $e->getMessage() . "<br/>";
    echo $dato;
    die();
  }  
  // return something from this function
  return $result;
}

请参阅:手册中的返回值


推荐阅读