我使用以下代码从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数据,如Id,时间和日期也会在我发送数据时在数据库中更新。但是这里发生的事情就像每当我从python程序发送数据时它赢得了#给出任何错误,当我在数据库和php页面中看到时,只插入了0(零)值,但是时间和id都会更新。请有人建议我使用正确的代码和方法。
答案 0 :(得分:0)
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)
print(r.url)//http://localhost/json1/js2.php
Json数据没有传入php.Check你的python代码
payload = {'key1': 'value1', 'key2[]': ['value2', 'value3']}
r = requests.get("http://httpbin.org/get", params=payload)
print(r.url)
结果: http://httpbin.org/get?key1=value1&key2%5B%5D=value2&key2%5B%5D=value3
你必须使用喜欢 payload = {“temp_value”:132}
答案 1 :(得分:0)
试试这个:
<?php
$json_payload = json_decode($_GET['json_payload']);
$temp_value = $json_payload['temp_value'];
?>
执行此操作时:
r = requests.get('http://localhost/json1/js2.php',data=payload)
您正在发送包含数据的JSON字符串表示形式的get请求:
'{"temp_value": 132}'
存储在名为json_payload
。
因此,在客户端,您必须检索json_payload
参数的内容并解码其中的JSON字符串才能检索temp_value
。
或者,你可以这样做:
payload = {"temp_value":132}
r = requests.get('http://localhost/json1/js2.php',data=payload)
保持您的PHP代码不被修改。