在url中传递变量以获取特定的JSON输出

时间:2016-04-19 14:58:04

标签: php mysql json

我正在尝试创建一个api,我正在尝试将变量附加到url以获取JSON输出中的特定数据。我当前可以显示表的所有内容。任何建议将不胜感激..请参阅下面的代码......

$connection = @mysqli_connect($server, $user, $password, $bd);

if( ! $connection ) die( "Error ".mysqli_connect_error() );

$sql = "SELECT * FROM posts";
$result = mysqli_query($connection, $sql);
$array_post = array();


while($data = mysqli_fetch_assoc($result)){
    $array_post[] = $data;

}

echo json_encode($array_post);

2 个答案:

答案 0 :(得分:1)

您可能是指POST或GET请求后的api响应?我是对的吗?

如果是,那么你可以这样做......

    $response = $array_post;
    http_response_code(200);
    print json_encode($response);

您需要一个流来输出JSON数据,您可以通过http_response_code($ code)函数设置HTTP状态代码,然后打印响应。

那里有可以处理api请求和响应的包。 我建议你看一下Curl或者更好的GuzzleHttp。

希望它有所帮助。

答案 1 :(得分:0)

您可以将特定值从SQL查询返回到数组键,如此

while($data = mysqli_fetch_assoc($result)){
    $array_post['key2'][] = $data['key2'];
    $array_post['key2'][] = $data['key2'];

}

echo json_encode($array_post);

仅使用您在URL中传递的值。 如果您需要所有记录,那么您的代码是正确的。 如果您正在考虑某些记录,请将查询更改为 比如SELECT field1,field2 FROM table_name。 因为有时它会影响执行SQL查询的性能。