Вместо строки из бд выводится 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);
}

