我正在运行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中的其他列。
任何帮助将不胜感激。