PHP Prepared Statement无法绑定JSON结果

时间:2017-10-06 04:18:03

标签: php json mysqli prepared-statement

我正在运行PHP 5.5.9,我要查询的表在运行MySQL5.7.19的MySQL数据库上有一个JSON列。

当我尝试这样的事情时:

$sql = "SELECT json_column FROM my_table";
if ($result = $mysqli->query($sql)) {
    while ($row = $result->fetch_object()){
        echo $row->json_column
    }
}

我可以看到如下输出:

[{json_field: some_data}, {json_field: some_data}]

但是,当我尝试使用预准备语句查询时:

$stmt = $mysqli->prepare("SELECT json_column FROM my_table");
if ($stmt->execute()) {
    $stmt->bind_result($res_json);
    while ($stmt->fetch()) {
        echo $res_json;
    }
}

我看不到任何反馈。我正在使用预准备语句,因为我认为这是一种更安全的方式来防止SQL注入,我想知道为什么这会失败。相同的查询适用于不在JSON中的其他列。

任何帮助将不胜感激。

0 个答案:

没有答案