首页 / php技术

PHP 自定义API

2022-11-25 php技术 阅读:2110 admin

自定义API 从数据库 读取数据, 然后保存数组里,用JSON 格式返回给浏览器  POST 形式


<?php 


require_once('123.php'); 


if (isset($_POST['id']) ) {

//这里是访问数据库,不多说,都懂哈!



$con = mysql_connect("localhost","root","root");

if (!$con)

  {

  die('Could not connect: ' . mysql_error());

  }


mysql_select_db("test", $con);

mysql_query('set names utf8',$con);




$id = $_GET['id']?$_GET['id']:$_POST['id'];

$sql_userinfo= "SELECT * FROM user WHERE id='$id'";

$record_userinfo = mysql_query($sql_userinfo, $con) or die(mysql_error());

$row_userinfo = mysql_fetch_assoc($record_userinfo);

//有时不能将所有信息都传给前台,所以不能直接发送$row_userinfo变量


//下面将感兴趣的值放到$array数组里



$array['id']=$row_userinfo['id'];

$array['username']=$row_userinfo['username'];

$array['qq']=$row_userinfo['qq'];

$array['tel']=$row_userinfo['tel'];

echo JSON($array);     //这里就是将数组转换为json数据


}


?>


下面是123.php内容自己写的方法


<?php

function arrayRecursive(&$array, $function, $apply_to_keys_also = false)

{

    static $recursive_counter = 0;

    if (++$recursive_counter > 1000) {

        die('possible deep recursion attack');

    }

    foreach ($array as $key => $value) {

        if (is_array($value)) {

            arrayRecursive($array[$key], $function, $apply_to_keys_also);

        } else {

            $array[$key] = $function($value);

        }


        if ($apply_to_keys_also && is_string($key)) {

            $new_key = $function($key);

            if ($new_key != $key) {

                $array[$new_key] = $array[$key];

                unset($array[$key]);

            }

        }

    }

    $recursive_counter--;

}

function JSON($array) {

    arrayRecursive($array, 'urlencode', true);

    $json = json_encode($array);

    return urldecode($json);

}



?>


OK!