将json数据从python发送到php

将json数据从python发送到php,php,python,json,Php,Python,Json,我使用下面的代码从python程序发送json数据 import json import requests data = {"temp_value":132} data_json = json.dumps(data) payload = {'json_playload': data_json} r = requests.get('http://localhost/json1/js2.php',data=payload) 并使用下面的代码在php服务器端接收它 <?php if($_G

我使用下面的代码从python程序发送json数据

import json
import requests

data = {"temp_value":132}
data_json = json.dumps(data)
payload = {'json_playload': data_json}
r = requests.get('http://localhost/json1/js2.php',data=payload)
并使用下面的代码在php服务器端接收它

<?php

if($_GET['temp_value']) {
    $temp_value = $_GET['temp_value'];
    echo $temp_value;

  #  $data = array($id, $description);
   $arr=json_decode($temp_value,true);

   } else {
echo "not found";}
// Connect to MySQL
    include("dbconnect.php");

    // Prepare the SQL statement
    $SQL = "INSERT INTO test1.temperature1 (temp_value) VALUES ('$arr')";    

    // Execute SQL statement
    mysqli_query($dbh,$SQL);
    Echo "<a href=http://localhost/json1/review_data.php><center><u><b><h1>Manage values<h1><b><u></center></a>"

?>

Json数据未传递到php。请检查python代码

payload = {'key1': 'value1', 'key2[]': ['value2', 'value3']}
r = requests.get("http://httpbin.org/get", params=payload)
print(r.url)
结果:

你必须使用like 有效负载={“temp_value”:132}

尝试以下方法:

<?php
  $json_payload = json_decode($_GET['json_payload']);
  $temp_value   = $json_payload['temp_value'];
?>
您正在发送包含数据JSON字符串表示形式的get请求:

'{"temp_value": 132}'
存储在名为
json\u payload
的get参数中

因此,在客户端,您必须检索
json\u有效载荷
参数的内容并解码其中的json字符串,以便检索
temp\u值

或者,您可以这样做:

payload = {"temp_value":132}
r = requests.get('http://localhost/json1/js2.php',data=payload)

不要修改PHP代码。

在insert语句中,你在数据库中得到了什么值。零。当我从python发送数据并在数据库中进行检查时,只存储了零值,而不是我发送的实际值。请检查,你在
$arr
中得到了什么。试试这个:(!)注意:在第3行的C:\wamp\www\json1\js2.php中未找到未定义的索引:temp_值,当我对数据库部分进行注释并尝试在$arri中获取该temp_值时,我尝试了这里列出的所有方法,但没有任何方法对我有效
'{"temp_value": 132}'
payload = {"temp_value":132}
r = requests.get('http://localhost/json1/js2.php',data=payload)