Вместо строки из бд выводится array

Когда пользователь пишет сообщение боту - он сохраняет текст в бд и присылает свое сообщение с кнопкой, при нажатии на которую можно посмотреть какое сообщение было написано

Сообщение пользователя должно выводиться благодаря функции:

function message_get($user_id) {
global $db;
$chat_id = mysqli_real_escape_string($db,$user_id);
$query = "SELECT message_id, user_id as chat_id,  message as `text` 
    FROM `secret_messages` 
    WHERE user_id='$chat_id' ORDER BY id DESC LIMIT 1";
$result = mysqli_query($db, $query);
return $result->fetch_assoc();
}

В основном коде эта функция используется вместе с параметром text, то есть бот пишет от себя сообщение и добавляет сообщение пользователя

switch ($callback_data) {
case 'view_message':

$post = [
    'chat_id' => $chat_id,
    'message_id' => $message_id,
    'text' => 'Текст секретного сообщения: ' . message_get($user_id),
];
sendRequest('editMessageText', $post);
}

Проблема заключается в том, что вместо сообщения от пользователя бот выводит Array

введите сюда описание изображения

Как отследить, на каком моменте выводится неверный результат и почему так может происходить?

введите сюда описание изображения

Само сообщение спокойно сохраняется в бд


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

Автор решения: Роман Мещеряков

Вам нужно достать значение из возвращаемого массива функции

<?php
switch ($callback_data) {
    case 'view_message':
        $messageData = message_get($user_id);
        $post = [
            'chat_id' => $chat_id,
            'message_id' => $message_id,
            'text' => 'Текст секретного сообщения: ' . $messageData['message'],
        ];
        sendRequest('editMessageText', $post);
}
→ Ссылка