php - 将查询结果保存在一个数组中

标签 php android mysql arrays json

我是 PHP 的绝对初学者。我目前正在开发一个 Android 应用程序,该应用程序具有 PHP 的网络服务。我需要获取 2 个执行的 SQL 查询的结果并将其转换为 json。我的问题是我没有收到任何结果返回给客户端,也没有收到任何错误。我认为这是因为我将结果分为两个数组。如何将 2 个查询的结果保存为一个数组,即一个 json 响应?

代码编辑:

<?php
    $host = "localhost"; // host of MySQL server
    $user = "root"; // MySQL user
    $pwd = ""; // MySQL user's password
    $db = "food"; // database name

    // Create connection
    $con = mysqli_connect($host, $user, $pwd, $db);

    // Check connection
    if(mysqli_connect_errno($con)) {
        die("Failed to connect to MySQL: " . mysqli_connect_error());
    } 
    //$uname = $_POST['uname'];

    // query the application data
    $sql = "SELECT * FROM uploads WHERE status = '0' ORDER By  precious_time DESC";
    $sql2 = "SELECT * FROM uploads_avatar WHERE uname = 'sinii'";

    $result = mysqli_query($con, $sql);
    $result2 = mysqli_query($con, $sql2);

    // an array to save the application data
    $rows = array();
    $rows2 = array();

    // iterate to query result and add every rows into array
    while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
        $rows[] = $row; 

    }

    // iterate to query result and add every rows into array
    while($row2 = mysqli_fetch_array($result2, MYSQLI_ASSOC)) {
       $rows2[] = $row2; 

    }

    $result_merge = array_merge($rows, $rows2);

    // close the database connection
    mysqli_close($con);


    // echo the application data in json format
    echo json_encode($result_merge);
    ?>

但是,我在没有使用第二个数组等的第二个查询的情况下运行应用程序,然后它就可以工作,但我也需要第二个查询的数据。

感谢您的帮助!

最佳答案

要获取一个数组中的值,请使用 array_merge 合并两个数组,或者您可以采用这种格式进行操作

$jsonResult = array();

while($row2 = mysqli_fetch_array($result2, MYSQLI_ASSOC)) {
  $jsonResult["uploads"][] = $row; 
}


while($row2 = mysqli_fetch_array($result2, MYSQLI_ASSOC)) {
  $jsonResult["upload_avatar"][] = $row2; 
}

echo json_encode($jsonResult);

使用数组合并

 $jsonResult = array_merge($rows, $rows2);
   echo json_encode($jsonResult);

对于 json 响应,您应该首先通过在网络浏览器中查看响应来检查响应。

关于php - 将查询结果保存在一个数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26530212/

相关文章:

php - 使用 PHP 从 MySQL 数据库获取数据时,上传的图像不显示

php - MySQL( explode/匹配数组)

php - 存储分层数据的软件

android - 是否有掉话监听器

android - CollapsingToolbarLayout with Image,固定纵横比

mysql - 你能在 MySQL Workbench 中制作继承图吗?

php - 使用递归将 html_entity_decode 应用于对象和数组

java - 如何将焦点集中在文本中间

php - 选择特定行 php 和 mysql

mysql - 如何在不给出任何键的情况下选择表中所有重复的数据?