Messenger 平台 SQL 数据库访问

Messenger Platform SQL Database access

我遇到了麻烦,我想 return item_name 的值。

$productnum = "1001";

$mysqli = new mysqli("localhost", "ewconline_db_user", "steve030405", "ewconline_db");
    $result = $mysqli->query("SELECT * FROM `shop_products` WHERE `item_id` = '$productnum' ");
    $row = $result->fetch_assoc();
    $item_name = $row['item_name'];

    $response = "{
                    'recipient':{
                        'id': $senderId
                        },
                    'message':{
                        'text': $item_name
                    }
                }";

它似乎没有得到值并向用户发送回复。

如果我 运行 sql 程序在不同的 url 上。它工作得很好。

你可以这样试试

while ($row = $result->fetch_assoc()) {
   $item_name = $row['item_name'];
}

您应该始终检查您的连接是否成功。因此,在构建 mysqli 实例之后,添加如下内容:

if (mysqli_connect_errno()) {
    printf("Database connection failed: %s\n", mysqli_connect_error());
    die(); // or throw an exception or whatever
}

这应该会告诉您为什么没有得到预期的结果。

$mysqli = new mysqli("localhost", "ewconline_db_user", "steve030405", "ewconline_db");
$result = $mysqli->query("SELECT * FROM `shop_products` WHERE `item_id` = '".$productnum."'");
$row = $result->fetch_assoc();
$answer = $row['item_name'];

$response = [
    'recipient' => [ 'id' => $senderId ],
    'message' => [ 'text' => $answer ]
];

我是这样操作的,效果很好

并使用了 json_encode($response);