PHP:如何解析JSON数据
我试图将JSON数据发送到PHP服务器,但我可以理解如何在PHP中解析JSON并在Mysql数据库中插入值 下面是我的JSON数据的外观PHP:如何解析JSON数据,php,mysql,json,parsing,Php,Mysql,Json,Parsing,我试图将JSON数据发送到PHP服务器,但我可以理解如何在PHP中解析JSON并在Mysql数据库中插入值 下面是我的JSON数据的外观 {"reps_list":{"selected_subcategory_id":[0,1,2]}} 以下是我的PHP代码: $reps_list = $_POST['reps_list']; $reps_list= json_decode($reps_list,TRUE); for($i = 0; $i <= count($array['reps
{"reps_list":{"selected_subcategory_id":[0,1,2]}}
以下是我的PHP代码:
$reps_list = $_POST['reps_list'];
$reps_list= json_decode($reps_list,TRUE);
for($i = 0; $i <= count($array['reps_list']['selected_subcategory_id']); $i++){
mysqli_query($conn, "INSERT INTO reps VALUES(NULL, '".$array['reps_list']['selected_subcategory_id'][i]."', 1, 1 )");
$reps_list=$_POST['reps_list'];
$reps_list=json_decode($reps_list,TRUE);
对于($i=0;$i对于您的有效的json尝试这样做,将字符串解码为数组
,与第二个参数true一起使用,使其成为数组,然后在db查询中使用它之前将其作为数组处理
$array = json_decode('{"reps_list":{"selected_subcategory_id":[0,1,2]}}',1);
echo "Main Array after json string decode \n\n";
print_r($array);
echo "\n\n";
echo "Access selected_subcategory_id \n\n";
print_r($array['reps_list']['selected_subcategory_id']);
输出:
json字符串解码后的主数组
Array
(
[reps_list] => Array
(
[selected_subcategory_id] => Array
(
[0] => 0
[1] => 1
[2] => 2
)
)
)
访问选定的子类别\u id
Array
(
[0] => 0
[1] => 1
[2] => 2
)
演示:对您的有效的json尝试这样做,将字符串解码为数组
,与第二个参数true一起使用,使其成为数组,然后将其作为数组处理,然后在db查询中使用
$array = json_decode('{"reps_list":{"selected_subcategory_id":[0,1,2]}}',1);
echo "Main Array after json string decode \n\n";
print_r($array);
echo "\n\n";
echo "Access selected_subcategory_id \n\n";
print_r($array['reps_list']['selected_subcategory_id']);
输出:
json字符串解码后的主数组
Array
(
[reps_list] => Array
(
[selected_subcategory_id] => Array
(
[0] => 0
[1] => 1
[2] => 2
)
)
)
访问选定的子类别\u id
Array
(
[0] => 0
[1] => 1
[2] => 2
)
DEMO:既然你更新了你的帖子,打算将其插入数据库中,那么以下是有效的方法:
$reps_list = $_POST['reps_list'];
$json = json_decode($reps_list,TRUE);
$arr = $json['reps_list']['selected_subcategory_id'];
$insertWorkout = $mysqli->prepare("INSERT INTO reps (column1, column2, column3) VALUES (?, ?, ?)");
$insertWorkout->bind_param("iii", $arr[0], $arr[1], $arr[2]); // iii means they are all integers
$insertWorkout->execute();
既然您更新了帖子,打算将其插入数据库中,那么以下是有效的方法:
$reps_list = $_POST['reps_list'];
$json = json_decode($reps_list,TRUE);
$arr = $json['reps_list']['selected_subcategory_id'];
$insertWorkout = $mysqli->prepare("INSERT INTO reps (column1, column2, column3) VALUES (?, ?, ?)");
$insertWorkout->bind_param("iii", $arr[0], $arr[1], $arr[2]); // iii means they are all integers
$insertWorkout->execute();
你可以用
foreach($reps_list['selected_subcategory_id'] as $key => $value){
mysqli_query($conn, "INSERT INTO reps VALUES(NULL, '".$value."', 1, 1 )");
}
你可以用
foreach($reps_list['selected_subcategory_id'] as $key => $value){
mysqli_query($conn, "INSERT INTO reps VALUES(NULL, '".$value."', 1, 1 )");
}
这不是有效的json,请发布有效的JSONI如果这是有效的json数据,那么您可以使用,但并非如此。我已经编辑了我的问题并粘贴了有效的json),您有一个SQL注入漏洞。您应该在查询中使用参数,而不是在SQL字符串中插入变量json_decode()
不保护值。它不是有效的json,请发布有效的JSONI如果这是有效的json数据,那么您可以使用,但事实并非如此。我已编辑了我的问题并粘贴了有效的json)。您有SQL注入漏洞。您应该在查询中使用参数,而不是在SQL字符串中插入变量json_decode()
不保护值。谢谢你的回答,我更新了我的问题,我想在循环中插入数据,但当我运行代码时,抛出如下异常未定义索引:我
谢谢你的回答,已经更新了我的问题,我想在循环中插入数据,但当我运行代码时,抛出如下异常未定义索引:i
抛出此异常PHP解析错误:语法错误,在/home/asata/public\u html/etsports/data/add_reps.PHP的第28行上出现意外的“$key”(T_变量)
您可以立即尝试抛出此异常PHP解析错误:语法错误,意外的“$key”(T_变量)在第28行的/home/asata/public_html/etsports/data/add_reps.php中
您可以立即尝试