php--模拟调用接口的代码

t182.php

模拟接口的代码

<?php

error_reporting(0);
/**
 *
 *
 */
//显示
function show($id=0)
{
    //实例化pdo
    $pdo = new PDO('mysql:dbname=test;host=localhost','root','mysql123');
    //查询语句,:id表示绑定
    $sql = "select * from user where user_id=:id";
    //设置字符集
    $pdo->query("set names utf8");
    //准备
    $result = $pdo->prepare($sql);
    //绑定变量,执行
    $result->execute(array('id'=>$id));
    //取数据
    $user = $result->fetch(PDO::FETCH_ASSOC);
    //空值,返回错误提示
    if(empty($user))
    {
        $user = array("errorno"=>"SN001","errormsg"=>"没有找到数据!");
    }
    return $user;
}

//存储方法
function store($user)
{

    $pdo = new PDO('mysql:dbname=test;host=localhost','root','mysql123');
    //插入语句,?为占位符
    $sql = "insert into user(user_name,sex,age,description) values (?,?,?,?)";
    $pdo->query("set names utf8");
    //准备
    $result = $pdo->prepare($sql);
    //绑定,数组方式的变量
    $result->execute([$user['user_name'],$user['sex'],$user['age'],$user['description']]);

    //返回值大于1,表示保存成功
    if($result->rowCount() > 0)
    {
        return array("success"=>"添加成功");
    }
    //保存失败
    else
    {
        return array("errorno"=>"SN003","errormsg"=>"数据添加失败!");
    }

}

//判断是GET方式
if('GET' == $_SERVER['REQUEST_METHOD'])
{
    //用户id
    $id = $_GET['id']?? 0;
    //有值,显示
    if($id)
    {
        $user = show($id);
    }
    //无值,返回错误提示
    else
    {
        $user = array("errorno"=>"SN002","errormsg"=>"参数ID错误!");
    }
    //返回json格式的数据
    echo json_encode($user);
}
//判断是POST方式
elseif('POST' == $_SERVER['REQUEST_METHOD'])
{
    //POST数组不为空
    if(!empty($_POST))
    {
        //保存数据,返回值解码json格式
        echo json_encode(store($_POST));
    }
    //POST数组为空
    else
    {
        echo json_encode(array("errorno"=>"SN004","errormsg"=>"数据提交失败!"));
    }
}

t183.php

调用接口

<?php
//GET方式
function get($url)
{
    $ch = curl_init($url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_TIMEOUT,10);
    $res = curl_exec($ch);
    curl_close($ch);
    return json_decode($res,true);
}
//POST方式
function post($url,array $data)
{
    $ch = curl_init($url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_POST,1);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
    curl_setopt($ch,CURLOPT_TIMEOUT,10);
    $res = curl_exec($ch);
    curl_close($ch);
    return json_decode($res,true);
}
//没有id值,
print_r(get('http://localhost:8081/t182.php'));
echo "<br>";
//id=1时
print_r(get('http://localhost:8081/t182.php?id=1'));
echo "<br>";
//保存,数组为空时
print_r(post('http://localhost:8081/t182.php',array()));
echo "<br>";
//数组有值
$user = ["user_name"=>"uu",'sex'=>'女','age'=>'19','description'=>"ok"];
//print_r($user);
print_r(post('http://localhost:8081/t182.php',$user));
echo "<br>";

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虾米大王

有你的支持,我会更有动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值