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 を取得しているだけです。おそらく、これを使用して、2 番目のクエリで行全体をフェッチするつもりです。

代わりに、1 つのクエリで操作全体を実行できます。

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

やってみました :

$row->max(id)? または $lastid=$row["max(id)"];

select max(id) as "MaxID" and $lastid=$row->MaxID; を実行する必要がある場合があります。

于 2010-06-12T15:22:45.467 に答える