Как получить доступ к переменным stdClass StdClass Object ([max (id)]) => 64) - PullRequest
1 голос
/ 12 июня 2010

Мне нужна самая последняя действительная запись в таблице базы данных, которая будет строкой с наибольшим первичным ключом. Таким образом, используя mysqli, мой запрос «SELECT MAX (id) FROM таблицы 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 Object ([max (id)] => 68)"

Ответы [ 3 ]

5 голосов
/ 12 июня 2010

Вам нужно назвать совокупный результат.

SELECT MAX(id) AS maxid FROM stones

Затем вы можете получить доступ к значению, как $row->maxid.

1 голос
/ 12 июня 2010

Вы пробовали:

$ row-> макс (ID)? или же $ Lastid = $ строки [ "макс (ID)"];

Возможно, вам понадобится выбрать max (id) как «MaxID» и $ Lastid = $ row-> MaxID;

1 голос
/ 12 июня 2010

Мне нужна последняя допустимая запись в таблице базы данных, которая будет строкой с наибольшим первичным ключом.

Вы говорите, что хотите последнюю запись, но вы только получаете идентификатор.Предположительно вы собираетесь использовать это для извлечения всей строки вторым запросом.

Вместо этого вы можете выполнить всю операцию в одном запросе:

SELECT *
FROM stones
ORDER BY id DESC
LIMIT 1
...