Как отформатировать массив Mysql / php для json? - PullRequest
0 голосов
/ 05 мая 2011

Спрашивал об этом раньше, но я сузил проблему до этого кусочка кода.Вот мой код, когда я запускаю его, он просто говорит "ноль" ..

$getmsg = "SELECT * FROM user WHERE account_id = $id";      
$showmsg = @mysqli_query ($dbc, $getmsg);
        while ($row = mysqli_fetch_array($showmsg, MYSQLI_ASSOC)) {

$arrResults = array($row['user_username']);


} // END WHILE


// Print them out, one per line
echo json_encode($arrResults);

Ответы [ 2 ]

4 голосов
/ 05 мая 2011

Прежде всего, вы поместили эхо вне цикла, который просто отображает последний элемент вместо всех, и вы не проверяете, есть ли ошибка в вашем запросе.

Вместо этого этого будет достаточно:

$getmsg = "SELECT * FROM user WHERE account_id = $id";      
$result = @mysqli_query($dbc, $getmsg) or die("Error: " . mysql_error());
$result = mysql_fetch_assoc($result);
echo json_encode($result);

Он помещает результат в один ассоциированный массив, а затем преобразует весь массив в json и печатает его.

1 голос
/ 05 мая 2011

Проблема, с которой вы, вероятно, столкнулись, заключается в вашем операторе присваивания:

$ arrResults = array ($ row ['user_username']);

Вы должны изменить его на следующее:

$ arrResults [] = $ row ['user_username'];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...