我正在尝试编写一个脚本来获取返回的结果,将它们编译成一个数组并将其回显到我的 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/