XAMPP(3)——使用PHP接收数据并存储到MySQL代码

一、设置MySQL

新建数据库(car)——新建数据表(gps)——在gps中插入如下字段

XAMPP(3)——使用PHP接收数据并存储到MySQL代码_第1张图片
MySQL创建数据库

二、编写PHP脚本(无法插入代码)

1、conn.php 用于连接服务器

2、write.php 用于接收HTTP POST的数据并存储到MySQL中

XAMPP(3)——使用PHP接收数据并存储到MySQL代码_第2张图片
conn.php
XAMPP(3)——使用PHP接收数据并存储到MySQL代码_第3张图片
write.php

三、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格式

你可能感兴趣的:(XAMPP(3)——使用PHP接收数据并存储到MySQL代码)