这是我的第一个问题,因为我最近加入了该网站,我真的需要帮助。 我想要做的是将数据从python发送到php,然后,在php中,我连接到数据库,我正在测试一个值,然后我将通过在php中创建的json将数据发送回python 。 所以我使用的代码是: Python方面:
import requests
import json
getdata = {'cpu': '1324324', 'tempvalue': '34543543'}
resp = requests.post("http://localhost/try.php", params=getdata)
r = requests.get('http://localhost/try.php')#.json()
getdata=r.json()
print(getdata['cpu'])
print(getdata['tempvalue'])
对于这部分,post方法正常工作。但get get方法不起作用,我不断收到错误:
ValueError: Expecting value: line 2 column 2 (char 3)
PHP方面: 我不会正确连接数据库代码,因为它工作正常。
$sql= "SELECT * FROM temp WHERE cpu = '".$value1."'";
$rs=$conn->query($sql);
#$check=mysqli_query("SELECT * FROM temp WHERE cpu = '".$value1."'");
if ($rs === TRUE) {
$row_cnt = $result->num_rows;
if($row_cnt == 1){
$result["cpu"] = $value1;#$result is predefined in the script.
$result["tempvalue"] = $value2;
}}
else{
echo "did not find";
$response["error"] = "error";
}
json_encode($response);
这就是我在做什么。代码中有什么问题吗?python脚本是否有任何数据?或者我应该添加一些内容吗?并且php脚本是对的吗?我真的把json发回给python ?谢谢大家。
答案 0 :(得分:0)
我找到了问题的答案,并且像往常一样非常容易。
我们必须做的是将php文件的内容类型添加为json,以便python脚本知道应该读取什么类型的数据。所以要在PHP脚本中添加的代码行是:
header('Content-Type: application/json');
它必须位于文件的开头。
答案 1 :(得分:0)
问题出在PHP方面。
您只返回getattr
数组,但您的数据实际上位于$response
数组中。
因此,当一切都成功时,json响应无效,因为没有创建$result
数组。
您需要调整PHP代码,这是一个例子:
$response
您还有其他一些问题,例如您没有使用参数化查询,因此您的代码会受到SQL注入的影响而忽略了第一个查询的结果。