我正在尝试获取表中的最大值。我使用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。为什么会发生?解决方案是什么?
您的函数不返回任何内容。试试这个:
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;
}
请参见:手册中的Returning values。