while循环中的PHP json_encode()

while循环中的PHP json_encode(),php,arrays,sqlite,while-loop,json,Php,Arrays,Sqlite,While Loop,Json,我试图在while循环中使用json\u encode(),同时获取数据库结果。这是我的密码: <? $database = sqlite_open("thenew.db", 0999, $error); if(!$database) die($error); $query = "SELECT * FROM users"; $results = sqlite_query($database, $query); if(!$results) die("Canot execute query

我试图在while循环中使用
json\u encode()
,同时获取数据库结果。这是我的密码:

<?

$database = sqlite_open("thenew.db", 0999, $error);
if(!$database) die($error);

$query = "SELECT * FROM users";
$results = sqlite_query($database, $query);
if(!$results) die("Canot execute query");

while($row = sqlite_fetch_array($results)) {
  $data = $row['uid'] . " " . $row['username'] . " " . $row['xPos'] . " " . $row['yPos'];
}
echo json_encode(array("response"=>$data));

sqlite_close($database);

?>

这个的输出是

{“response”:“lastUserID lastUser lastXPos lastYPos”}

我希望它是

{“回复”:[“1亚历克斯10 12”,“2弗雷德27 59”,“3汤姆47 19”]

等等

因此我希望
json\u encode()
函数将所有用户放入数组,而不是最后一个。我该怎么做?谢谢你改变这个

while($row = sqlite_fetch_array($results)) {
  $data = $row['uid'] . " " . $row['username'] . " " . $row['xPos'] . " " . $row['yPos'];
}

改变这个

while($row = sqlite_fetch_array($results)) {
  $data = $row['uid'] . " " . $row['username'] . " " . $row['xPos'] . " " . $row['yPos'];
}


将每个用户推送到阵列:

$data = array();
while($row = sqlite_fetch_array($results)) {
  $data[] = $row['uid'] . " " . $row['username'] . " " . $row['xPos'] . " " . $row['yPos'];
}
echo json_encode(array("response"=>$data));

将每个用户推送到阵列:

$data = array();
while($row = sqlite_fetch_array($results)) {
  $data[] = $row['uid'] . " " . $row['username'] . " " . $row['xPos'] . " " . $row['yPos'];
}
echo json_encode(array("response"=>$data));
尝试:


试试: