Как получить данные в переменную с mysql?

Прошу прошения за столь глупый вопрос, но я не могу разобраться как получить данные в переменную, и так, делаю запрос:

$sth = $pdo->query('SELECT max(id) FROM authorized_user')->fetchAll();
print_r($sth);

получаю следующий результат:

Array ( [0] => Array ( [max(id)] => 48 ) )

не могу понять как получить значение 48 в переменную


Ответы (1 шт):

Автор решения: Алексей Шиманский

Зачем fetchAll если есть fetch

$result = $pdo->query('SELECT max(id) as max_id FROM authorized_user')->fetch(PDO::FETCH_ASSOC);

echo $result['max_id'];

----

$result = $pdo->query('SELECT max(id) as max_id FROM authorized_user')->fetch(PDO::FETCH_OBJ);

echo $result->max_id;

А вообще в случаях когда получаете результаты функций полезно использовать алиасы ("SELECT Что-то as имяРезультирующейКолонки")


В вашем случае, когда нужно только одно значение одной колонки может быть также полезно fetchColumn. Тогда в $result уже будет лежать значение

$max_id = $pdo->query('SELECT max(id) as max_id FROM authorized_user')->fetchColumn();

echo $max_id;
→ Ссылка