一、设置MySQL
新建数据库(car)——新建数据表(gps)——在gps中插入如下字段
![1314054-9a8c8928a17b06a0.png](https://i-blog.csdnimg.cn/blog_migrate/3a66c73916396360aa9ed910a25f9f4a.png)
二、编写PHP脚本(简书无法插入代码)
1、conn.php 用于连接服务器
2、write.php 用于接收HTTP POST的数据并存储到MySQL中
![1314054-54c4ab099ebf7706.png](https://i-blog.csdnimg.cn/blog_migrate/3379d6c96fc06be8597aef3d4891b5c3.png)
![1314054-1d9f9e19c3a3fdc7.png](https://i-blog.csdnimg.cn/blog_migrate/1e65d82e0b4b409ec065072b5a81ad12.png)
三、Python测试
注意Python2.X与3.X的版本差别很大,以下是3.X的版本的
impor turllib.request
import json
data = {"id":"001","lng":"30.2502443192","lat":"120.1406558748"}
url="http://47.100.9.191/register.php"
headers = {'Content-Type':'application/json'}
data=json.dumps(data)
data=bytes(data,'utf8')
request = urllib.request.Request(url=url,headers=headers,data=data)
response = urllib.request.urlopen(request)
print(response.read())
四、遇到的坑
1、MySQL插入时间戳
如果想要使用PHP的时间戳,需要将MySQL中的时间戳变量改为int类型,$sql="INSERT INTO gps (id,time, lng,lat) VALUES ($obj_id,$time,$obj_lng,$obj_lat)";
如果想要使用MySQL的时间戳,需要将MySQL中的时间戳变量改为TIMESTAMP类型,$sql="INSERT INTO gps (id, lng,lat) VALUES ($obj_id,$obj_lng,$obj_lat)";
2、上述语句中变量不应该有引号
3、ImportError: No module named 'urllib2'报错:Python3.X没有这个库,使用urllib.request代替
4、POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str.报错:使用data=bytes(data,'utf8'),将data转为UTF8格式