For My Future)
流程简介
我所做的是把一个txt文档通过Navicat for MySQL转换成sql文件,然后把这个数据库文件放到自己的网站上,通过php中的sql语句实现数据库的连接及查询,并返回json格式的数据,如下图所示
http://39.101.69.250:88/qq.php?qq=1216951671
http://39.101.69.250:88/qq.php?qq=111111
只要你会api的调用,看到这就知道该如何使用这个接口了,那么现在开始详细的教程。
一.sql文件转换
在进行转换之前,首先你要有自己的数据,并且安装好Navicat for MySQL,这款软件早在大二上数据库技术这门课的时候我就安装在电脑上,所以安装教程我已经不记得了,各位可以上网搜索安装教程。
这是我的测试数据,
可以看到,它的格式还是比较规整的,中间用----符号隔开。
打开Navicat for MySQL,连接到本地数据库(网上有教程),随便新建选择一个表,会出现一个导入向导的按钮,点击它。
下一步
选择数据导入,点击下一步
第二个栏位分隔符换成其他符号- ,点击下一步
这里没有栏位名填0,第一个数据行填1,不用填最后一个数据行。其它不用动,点击下一步
点下一步到这个界面,将f2,f3,f4的勾选框都去掉,点击下一步
一直点击下一步到最后,点击开始,
完成后关闭来到Navicat for MySQL,确定下表的结构
接下来添加栏位名,右键选择设计表
修改栏位名,
可以看到名字已经修改了,
接着右键选择表,转储sql文件,选择结构和数据
这时我们得到了sql文件。
二.sql文件上传到服务器
来到我们的宝塔界面,添加数据库,
这里把访问权限改成所有人,点击提交
导入sql文件,从本地上传并导入
三.api接口制作
接口其实就是一个php文件,只不过我要调试运行php代码,所以要安装它的运行环境,花了很长时间。由于代码已经调试成功了,大家可以不用安装php运行环境了,直接把php文件放入到服务器让服务器运行即可。(第一次接触php语言,代码比较烂,注释都在代码里)
<?php
$db_host="39.101.69.250";//你自己的公网ip
$db_name = "number"; //你上传的数据库名,在宝塔数据库界面可以看到
$db_pwd = "1111"; //你上传的数据库密码,在宝塔数据库界面可以看到
$link=mysqli_connect($db_host,$db_name,$db_pwd);//数据库连接
mysqli_set_charset($link,"utf8");
mysqli_select_db($link,$db_name); //选择数据库,一定要有这一步
if($link->connect_error){
die("无法连接数据库");
}
$qq;
$fanhui = array();
$res = array('error'=>false);
if(isset($_GET['qq'])){ //这个$_GET['qq']就是得到你输入网址http://39.101.69.250:88/qq.php?qq=1216951671最后的1216951671
$qq = $_GET['qq'];
$result =$link->query("SELECT number FROM `number` WHERE qq=$qq"); //sql语句查询,第一个number是你要得到的栏位名,第二个是表名
//var_dump($result);
while($row = $result->fetch_assoc()){
array_push($fanhui,$row);
}
// var_dump($fanhui);
$res['phone']=$fanhui;
}
$link->close();
header("Content-type:application/json");
echo json_encode($res); //json返回
die();
?>
回到宝塔界面,添加站点
放行端口要回到阿里云主机配置安全组规则,放行相应端口(详见上一篇建站教程),我的是放行85端口。
这里直接上传刚才的php文件即可
来测试一下
很顺利获得结果,qq-副本.php就是自己上传的php文件名,这样就做出来一个数据库接口了。