PHP 自定义API
自定义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!