如何访问stdClass变量stdClass Object([max(id)])=> 64)

时间:2010-06-12 15:17:55

标签: php mysql mysqli stdclass

我需要数据库表中最后一个有效的条目,它是具有最大主键的行。所以使用mysqli,我的查询是“SELECT MAX(id)FROM table LIMIT 1”。此查询返回正确的数字(使用print_r()),但我无法弄清楚如何访问它。这是主要代码。请注意,$ this->链接指的是具有mysqli连接的类。

$q="select max(id) from stones limit 1";
    $qed=$this->link->query($q) or die(mysqli_error());
    if($qed){
        $row=$qed->fetch_object();
        print_r($row);
        echo $lastid=$row;//here is the problem
    }

有效行print_r($ row)回显“stdClass对象([max(id)] => 68)”

3 个答案:

答案 0 :(得分:5)

您需要命名聚合结果。

SELECT MAX(id) AS maxid FROM stones

然后您可以访问$row->maxid

之类的值

答案 1 :(得分:1)

  

我需要数据库表中最后一个有效的条目,它是具有最大主键的行。

你说你想要最后一个条目,但你只是提取ID。大概你打算用它来用第二个查询来获取整行。

相反,您可以在一个查询中执行整个操作:

SELECT *
FROM stones
ORDER BY id DESC
LIMIT 1

答案 2 :(得分:1)

你试过了吗?

$行级别>最大(ID)? 要么 $ lastid = $行[ “最大(ID)”];

您可能需要选择max(id)作为“MaxID”和 $ lastid = $行级别> MaxID;