Json 不会在 php 中响应我的数组
Json wont response my array in php
我正在尝试从我的数据库中获取多行,然后使用 json
对它们进行编码,以便我可以在我的 Android 应用程序中访问它们。我已经成功地对一个对象进行了编码,但是我找不到对数组进行相同编码的方法。我的代码如下所示:
if ($tag == 'friends') {
$id = $_POST['id'];
$friends = $db->getMyFriends($id);
if ($friends != false) {
// friends found
$result[] = array();
while($row = mysql_fetch_assoc($friends)){
$response[ "error"] = FALSE;
$result[] = array(
$response["friends"]["unique_id"] = $row["unique_id"],
$response["friends"]["name"] = $row["name"],
$response["friends"]["email"] = $row["email"]);
}
echo json_encode($response);
}
来自 getMyFriends($id) 的代码我已经测试过并且工作正常。它 returns :
$结果=mysql_fetch_array($结果);
return$结果;
使用rest客户端传递参数时:
标签: 朋友
编号:$id
这是我得到的 json
响应:
{
"tag": "myfriends",
"error": 错误
}
, 但没有实际的数据库数据。
如果有人知道我做错了什么,我将不胜感激,我已经浏览互联网几个小时了。
我试过了,它成功了。
if($tag=='friends'){
$id = $_REQUEST['id'];
$friends = $db->getMyFriends($id);
if ($friends != false) {
// friends found
$result[] = array();
while($row = mysql_fetch_assoc($friends)){
$response[ "error"] = FALSE;
$result[] = array(
$response["friends"]["unique_id"] = $row["id"],
$response["friends"]["name"] = $row["name"],
$response["friends"]["email"] = $row["email"]
);
}
echo json_encode($result);
}
}
如果 getMyFriends 已有 $result = mysql_fetch_array($result);
您无需再次获取。
您可以简单地:
$friends = $db->getMyFriends($id);
echo json_encode($friends);
但这只会 return 一个朋友,如果你想从 getMyFriends 中删除所有 $result = mysql_fetch_array($result);
和 return 纯 mysql_result,然后执行类似的操作:
$result = array();
while($row = mysql_fetch_assoc($friends)){
array_push($result,$row);
}
echo json_encode($result);
我正在尝试从我的数据库中获取多行,然后使用 json
对它们进行编码,以便我可以在我的 Android 应用程序中访问它们。我已经成功地对一个对象进行了编码,但是我找不到对数组进行相同编码的方法。我的代码如下所示:
if ($tag == 'friends') {
$id = $_POST['id'];
$friends = $db->getMyFriends($id);
if ($friends != false) {
// friends found
$result[] = array();
while($row = mysql_fetch_assoc($friends)){
$response[ "error"] = FALSE;
$result[] = array(
$response["friends"]["unique_id"] = $row["unique_id"],
$response["friends"]["name"] = $row["name"],
$response["friends"]["email"] = $row["email"]);
}
echo json_encode($response);
}
来自 getMyFriends($id) 的代码我已经测试过并且工作正常。它 returns :
$结果=mysql_fetch_array($结果);
return$结果;
使用rest客户端传递参数时: 标签: 朋友 编号:$id
这是我得到的 json
响应:
{
"tag": "myfriends",
"error": 错误
}
, 但没有实际的数据库数据。
如果有人知道我做错了什么,我将不胜感激,我已经浏览互联网几个小时了。
我试过了,它成功了。
if($tag=='friends'){
$id = $_REQUEST['id'];
$friends = $db->getMyFriends($id);
if ($friends != false) {
// friends found
$result[] = array();
while($row = mysql_fetch_assoc($friends)){
$response[ "error"] = FALSE;
$result[] = array(
$response["friends"]["unique_id"] = $row["id"],
$response["friends"]["name"] = $row["name"],
$response["friends"]["email"] = $row["email"]
);
}
echo json_encode($result);
}
}
如果 getMyFriends 已有 $result = mysql_fetch_array($result);
您无需再次获取。
您可以简单地:
$friends = $db->getMyFriends($id);
echo json_encode($friends);
但这只会 return 一个朋友,如果你想从 getMyFriends 中删除所有 $result = mysql_fetch_array($result);
和 return 纯 mysql_result,然后执行类似的操作:
$result = array();
while($row = mysql_fetch_assoc($friends)){
array_push($result,$row);
}
echo json_encode($result);