php - 将多行 MySQL 数据库返回到 iOS App

标签 php mysql ios json while-loop

我正在尝试编写一个脚本来获取返回的结果,将它们编译成一个数组并将其回显到我的 iOS 应用程序。本质上我需要输出看起来像这样:

array[0]=dictionary
array[1]=dictionary
array[2]=dictionary

我遇到的问题是 echo 命令显然不能在 while 循环内,所以我想知道如何编译 while 循环中返回的所有内容,然后再回显它们。

这是我当前的代码,没有我无法理解的 while 循环的内容。

<?php
require_once ('config.inc.php'); 
require_once (MYSQL);


// Trim all the incoming data:
$trimmed = array_map('trim', $_POST);

// Assume invalid values:
$id = FALSE;


// Check for an email address:

if ($trimmed['user_id']) {
    $id = mysqli_real_escape_string ($dbc, $trimmed['user_id']);
} else {
    echo "Error. No User ID submitted.";
}


if ($id) { // If everything's OK...

    $q = "SELECT * FROM post LEFT JOIN users ON post.user_id = users.id WHERE users.id='$id'";
    $r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));

    while(mysqli_fetch_array($r,MYSQLI_ASSOC)){

    /*
    CODE TO COMPILE THE MULTIPLE ROWS HERE
    */

    }
} 

echo json_encode($multiple_row_result);

mysqli_close($dbc);

?>

在此先感谢您的所有帮助!

最佳答案

如果您只需要一个 JSON 对象,应该相对容易

$multiple_row_result = array();
if ($id) { // If everything's OK...
    $q = "SELECT * FROM post LEFT JOIN users ON post.user_id = users.id WHERE users.id='$id'";
    $r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));

    while($row = $r->fetch_assoc()){
         $multiple_row_result[] = $row;
    }
} 

echo json_encode($multiple_row_result);

关于php - 将多行 MySQL 数据库返回到 iOS App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24250969/

相关文章:

php - 如何在wordpress中使用php调用多个sp

php - 关于将 JavaScript 生成的内容发布到文件以供下载为 CSV 的建议

带有 SESSION 的 PHP If 语句

ios - UIInterpolatingMotionEffect 随机工作

ios - 使用 MAC ios 连接到 BLE 设备

iOS:将用户直接发送到健康隐私设置

php - 以 json 形式返回表行并打印

php - 从mysql中的当前日期获取过去的所有7个日期

MySQL 查询多行不同 ID

mysql - 没有 Entity Framework 的 MVC