public function createCityDialog() {
$selectCity = "select name from telegramCity limit 6 offset 0";
$result = mysqli_query($this->connection, $selectCity);
while ($row = mysqli_fetch_assoc($result)) {
/*
$this->buttons[] = [
'text' => $row["name"]
];*/
$this->buttons["text"] = $row["name"];
}
$this->telegramAPI->sendMessage($this->buttons, $this->chatID);
$this->telegramAPI->api("sendMessage", [
'chat_id' => $this->chatID,
'text' => 'Виберіть місто',
'reply_markup' => [
'inline_keyboard' => [
$this->buttons
]
]
]);
}
它返回一个空数组。我认为,这是我在没有内嵌按钮的情况下发送消息的主要原因。
最佳答案
查询失败,因为 name
是 reserved MySQL keyword .
修复方法是将关键字括起来,如下所示:
$selectCity = "select `name` from telegramCity limit 6 offset 0";
还有一点是,如果有更多结果,则不会将其附加到数组中。
$this->buttons["text"][] = $row["name"];
您的注释代码也可以完成这项工作。
关于php - 我的 Telegram 查询出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49509618/