PDO获取最大值

时间:2012-09-19 11:30:35

标签: php mysql database select pdo

我一直在研究过去一小时但没有运气,我尝试了很多方法。我想要做的就是从表中的某个列获取最大值并将其存储在php中的变量中,我可以将其用于我想要的任何内容。这是我到目前为止的地方:

$link = new PDO('mysql:host=****;dbname=****;charset=UTF-8','****','****');
$gid = $link->prepare("SELECT MAX(Group_ID) as maxGroup FROM Conference");
$gid->execute();
$test = $gid->fetch(PDO::OBJ);
echo $test;

此时我甚至不知道OBJ是否正确,我只是尝试了很多不同的事情。任何人都可以帮助我,我需要做什么?我只想获得最大的值并将其存储在变量中。

3 个答案:

答案 0 :(得分:3)

您正在返回一个对象,因此您需要相应地访问这些属性:

echo $test->maxGroup;

->fetch(PDO::OBJ);返回查询结果,并根据查询中的列/别名创建一个包含属性的对象。

编辑:如果您只是想尝试返回结果并尝试一些不同的方法,那么为什么不以简单的方式进行:

$test = $sth->fetch(PDO::FETCH_ASSOC);
echo $test['maxGroup'];

答案 1 :(得分:2)

为什么不直接关联?

$link = new PDO('mysql:host=****;dbname=****;charset=UTF-8','****','****');
$gid = $link->prepare("SELECT MAX(Group_ID) as maxGroup FROM Conference");
$gid->execute();
$test = $gid->fetch(PDO::FETCH_ASSOC);
echo $test['maxGroup'];

答案 2 :(得分:0)

我为想要使用简单但有用的人创建了一个简单的函数 对于pdo()它是一个简单的功能,我从心里知道你知道我的意思

function last_inserted($column,$table){
 $dbh = pdo();
 $gid = $dbh->prepare("SELECT MAX(".$column.") as maxGroup FROM ".$table);
 $gid->execute();
 $last = $gid->fetch(PDO::FETCH_ASSOC);
 return $last['maxGroup'];
 }