Android — Json не ответит на мой массив в переполнении стека

Я пытаюсь получить несколько строк из моей базы данных, а затем кодировать их 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), который я уже тестировал, работает нормально. Возвращает:

$ result = mysql_fetch_array ($ result);
вернуть $ результат;

При использовании отдыхающего клиента передаются параметры:
Tag: друзья
id: $ id

это json ответ, который я получаю:
{
«tag»: «мои друзья»,
«ошибка»: ложь
}
, но нет фактических данных базы данных.

Если кто-нибудь знает, что я делаю не так, я был бы очень признателен, я смотрю в Интернете уже несколько часов.

0

Решение

Если getMyFriends уже есть $result = mysql_fetch_array($result);вам не нужно снова получать.

Вы могли бы просто:

$friends = $db->getMyFriends($id);
echo json_encode($friends);

Но это вернет только одного друга, если вы хотите все удалить $result = mysql_fetch_array($result); из getMyFriends и верните чистый mysql_result, затем сделайте что-то вроде:

 $result = array();
while($row = mysql_fetch_assoc($friends)){
array_push($result,$row);
}
echo json_encode($result);
0

Другие решения

Я попробовал это, и это сработало.

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);
}
}
0

По вопросам рекламы [email protected]