1

我需要数据库表中的最后一个有效条目,这将是具有最大主键的行。所以使用 mysqli,我的查询是“SELECT MAX(id) FROM table LIMIT 1”。此查询返回正确的数字(使用 print_r()),但我不知道如何访问它。这是主要代码。注意 $this->link 指的是带有 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 Object ([max(id)] => 68)”

4

3 回答 3

5

您需要命名聚合结果。

SELECT MAX(id) AS maxid FROM stones

然后你可以访问像$row->maxid.

于 2010-06-12T15:23:58.833 回答
1

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

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

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

SELECT *
FROM stones
ORDER BY id DESC
LIMIT 1
于 2010-06-12T15:20:55.053 回答
1

你有没有尝试过 :

$row->max(id)? 或 $lastid=$row["max(id)"];

您可能需要选择 max(id) as "MaxID" 和 $lastid=$row->MaxID;

于 2010-06-12T15:22:45.467 回答