Php 如何在mysql json查询中选择多个字段?

Php 如何在mysql json查询中选择多个字段?,php,mysql,json,Php,Mysql,Json,我正在运行支持JSON的MySQL。此查询按预期工作 首先是我的属性字段 {"Color1": "Blue", "Color2": "White", "Color3": "Black", "Color4": "Red"} 和查询 $result = mysqli_query($conn, "SELECT JSON_UNQUOTE(JSON_EXTRACT(attributes, '$.Color1')) AS Color1 FROM my_table"); $row

我正在运行支持JSON的MySQL。此查询按预期工作

首先是我的属性字段

{"Color1": "Blue", "Color2": "White", "Color3": "Black", "Color4": "Red"}
和查询

    $result = mysqli_query($conn, "SELECT JSON_UNQUOTE(JSON_EXTRACT(attributes, '$.Color1')) AS Color1 FROM     
my_table");
    $row = mysqli_fetch_assoc($result);
    $Color1 = $row['Color1'];
现在我们来讨论一个问题,如何在一个查询中获得Color1和Color2

也许我不清楚。看看这个查询

$result = mysqli_query($conn, "SELECT JSON_UNQUOTE(JSON_EXTRACT(attributes, '$.Color1', '$.Color2')) AS multiple_colors FROM     
my_table");
$row = mysqli_fetch_assoc($result);
$multiple_colors = $row['multiple_colors'];

答案是数组中有多种颜色,但我不知道如何从数组中获取值。

我终于让它工作了

$result = mysqli_query($conn, "SELECT JSON_UNQUOTE(JSON_EXTRACT(attributes, '$.Color1', '$.Color2', '$.Color3', '$.Color4')) AS multiple_colors FROM     
my_table");
$row = mysqli_fetch_assoc($result);
$multiple_colors = $row['multiple_colors'];

// put json multiple_colors to array
$multiple_colors_array = [];
$multiple_colors_array = json_decode($multiple_colors, true);
$color1 = $multiple_colors_array[0];
$color2 = $multiple_colors_array[1];
$color3 = $multiple_colors_array[2];
$color4 = $multiple_colors_array[3];

我终于成功了

$result = mysqli_query($conn, "SELECT JSON_UNQUOTE(JSON_EXTRACT(attributes, '$.Color1', '$.Color2', '$.Color3', '$.Color4')) AS multiple_colors FROM     
my_table");
$row = mysqli_fetch_assoc($result);
$multiple_colors = $row['multiple_colors'];

// put json multiple_colors to array
$multiple_colors_array = [];
$multiple_colors_array = json_decode($multiple_colors, true);
$color1 = $multiple_colors_array[0];
$color2 = $multiple_colors_array[1];
$color3 = $multiple_colors_array[2];
$color4 = $multiple_colors_array[3];

请参阅“现在的问题,如何在一个查询中获得Color1和Color2?可能我不清楚。请看这个查询。”您想要的是什么结果,或者PHP数组看起来应该是什么样子仍然不是很清楚。
$row['multiple_colors']
是否用逗号分隔?-><代码>变量转储($row['multiple\u colors'])?->请参阅PHP手册中关于
explode()
我想要两个变量中的两种颜色。就这么简单。这是我选择全部4种颜色时得到的结果。[“蓝色”、“白色”、“黑色”、“红色”]请看“现在的问题是,如何在一个查询中获得Color1和Color2?可能我不清楚。请看这个查询。“您想要的是什么结果,或者PHP数组看起来应该如何仍然不是很清楚。
$row['multiple_colors']
是否用逗号分隔?->”<代码>变量转储($row['multiple\u colors'])?->请参阅PHP手册中关于
explode()
我想要两个变量中的两种颜色。就这么简单。这是我选择全部4种颜色时得到的结果。[“蓝色”、“白色”、“黑色”、“红色”]