PHP开发移动客户端接口---查询数据接口

1.首先在MySQL数据库中创建如下的数据库(数据库名称:db_mxd) 以及表(表名称:userInfo)


2.为了方便获取数据库中获取到的数据库,新建一个php类, Person.php, 如下:

<?php

class Person {

    public $id;
    public $userName;
    public $age;
    public $resume;
    public $userAccount;
    public $password;

    function __construct($_id, $_userName, $_age, $_resume, $_userAccount, $_password)
    {
        $this->id = $_id;
        $this->userName = $_userName;
        $this->age = $_age;
        $this->resume = $_resume;
        $this->userAccount = $_userAccount;
        $this->password = $_password;
    }

} 

3. 获取数据库中的数据,并以JSON的格式现实出来:

<?php

require_once "Person.php";

$arr = array(
    'code'=>'400',
    'message'=>'Insert In Error'
);

$conn = mysql_connect('127.0.0.1', 'root', 'root') or die('Error Info : '.mysql_error());
mysql_select_db('db_mxd', $conn);
$result_sql = mysql_query("select * from userInfo") or die('Error Info_1'.mysql_error());
$row = mysql_fetch_object($result_sql);

$result = array();

do{
    $obj = new Person($row->id, $row->userName, $row->age, $row->resume, $row->userAccount, $row->password);
    array_push($result, $obj);
}while($row = mysql_fetch_object($result_sql));

if(count($result) > 0)
{
    $arr['code'] = '200';
    $arr['message'] = 'Success';
    $arr['result'] = $result;
}else{
    $arr['result'] = $result;
}

mysql_free_result($result_sql); // 关闭结果集
mysql_close($conn); //关闭MySQL服务器
echo json_encode($arr);
?>

5. 访问浏览器,可以获得如下的结果:

{

    "code": "200",
    "message": "Success",
    "result": [
        {
            "id": "2",
            "userName": "Tom",
            "age": "19",
            "resume": "Tom is a programer",
            "userAccount": "1512547107",
            "password": "1512547107"
        },
        {
            "id": "3",
            "userName": "Jake",
            "age": "23",
            "resume": "Jake is a Dector",
            "userAccount": "1512547108",
            "password": "123456"
        },
        {
            "id": "4",
            "userName": "mxd",
            "age": "23",
            "resume": "Mxd love football",
            "userAccount": "13026153681",
            "password": "123456"
        },
        {
            "id": "5",
            "userName": "MMM",
            "age": "23",
            "resume": "ahhahahahah",
            "userAccount": "123456",
            "password": "123456"
        }
    ]

}


[说明]

PHP对mysql_query()获得的结果集$result中数据的获取提供了三种常用的方法mysql_fetch_object(),mysql_fetch_array()和mysql_fetch_row():

(1)object  mysql_fetch_object(resource result)

mysql_fetch_object()返回的是一个对象,对象的属性值的字段名为数据库表的字段名(区分大小写),可以使用do-while循环获取结果集$result中的每一个对象$obj_result,并使用如下的方法获取数值:$obj_result->col_name(col_name为表中列的字段名称):

<?php

$conn = mysql_connect('127.0.0.1', 'root', 'root') or die('Error Info : '.mysql_error());
mysql_select_db('db_mxd', $conn);
$result = mysql_query("select * from userInfo");

$obj_result = mysql_fetch_object($result) or die(); // 使用mysql_fetch_object()获取$result中的数据

do{
    echo 'userName is:'.$obj_result->userName.'<br/>';
    echo 'userAccount is : '.$obj_result->userAccount;
}while($obj_result = mysql_fetch_object($result));

mysql_free_result($result); //关闭结果集
mysql_close($conn); // 关闭MySQL服务器

?> 

(2)array  mysql_fetch_array(resource result [, int result_type]);

mysql_fetch_array()函数的传入参数除了结果集之外,还有一个可选参数result_type,他的取值有三个:MYSQL_ASSOC(关联索引),MYSQL_NUM(数字索引)和MYSQL_BOTH(同时包含关联索引和数字索引),默认为MYSQL_ASSOC

需要说明的是对于数组$arr = array( .... ):关联索引就是使用key-value的方式,通过key获取value,$userName = $arr['userName']去获取数组中的数据数值,而数字索引就是使用$arr[0],通过元素的下标获取元素的数值

<?php

$conn = mysql_connect('127.0.0.1', 'root', 'root') or die('Error Info : '.mysql_error());
mysql_select_db('db_mxd', $conn);
$result = mysql_query("select * from userInfo");

$arr_result = mysql_fetch_array($result) or die(); // 使用mysql_fetch_array()获取结果集$result中的数据

do{
    echo 'userName is:'.$arr_result['userName'].';';
    echo 'userAccount is : '.$arr_result[4].'<br/>'; //
}while($arr_result = mysql_fetch_array($result));

mysql_free_result($result); //关闭结果集
mysql_close($conn); // 关闭MySQL服务器

?> 

说明】上面代码中的$arr_result[4]获取的是数据库的表userInfo中userAccount一列的数值,这是因为userAccount是第4列,其中id为第0列。

(3)array  mysql_fetch_row(resource result)

mysql_fetch_row($result)和mysql_fetch_array($result, MYSQL_NUM)相似,获得的是数据库的表中的一行,作为一个array输出,使用数字索引来获取每一列的数据,偏移量从0开始,使用do-while获取每一行的数据数组$row_result = mysql_fetch_row($result),直到没有更多行时返回false:

<?php

$conn = mysql_connect('127.0.0.1', 'root', 'root') or die('Error Info : '.mysql_error());
mysql_select_db('db_mxd', $conn);
$result = mysql_query("select * from userInfo");

$row_result = mysql_fetch_row($result) or die(); // 使用mysql_fetch_row()获取数据

do{
    echo 'userName is:'.$row_result[1].';';
    echo 'userAccount is : '.$row_result[4].'<br/>'; 
}while($row_result = mysql_fetch_row($result));

mysql_free_result($result); //关闭结果集
mysql_close($conn); // 关闭MySQL服务器

?> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值