pro*_*_24 1 javascript php json mysqli
我试图从我的mysqli结果中构建一个json对象.我该怎么做呢 目前它不会创建一个json看对象.
这是我的代码:
$result = $dataConnection->prepare("SELECT id, artist, COUNT(artist) AS cnt FROM {$databasePrefix}users GROUP BY artist ORDER BY cnt DESC LIMIT 0 , 30");
$result->execute();
if($result->error)
{
die("That didn't work. I get this: " . $result->error);
}
$result->bind_result($id, $artist, $count);
$data = array();
while($result->fetch()){
$data[] = '{ id :'.$id.', artist :'.$artist.', count :'.$count.'}';
}
echo json_encode($data);
$dataConnection->close();
Run Code Online (Sandbox Code Playgroud)
我想要一个数据对象,如:
{"id":"27","artist":"myArtist","count":"29"},....
Run Code Online (Sandbox Code Playgroud)
$result = $dataConnection->query("SELECT id, artist, COUNT(artist) AS count FROM {$databasePrefix}users GROUP BY artist ORDER BY cnt DESC LIMIT 0 , 30");
$data = array();
while($row = $result->fetch_assoc()){
$data[] = $row;
}
echo json_encode($data);
Run Code Online (Sandbox Code Playgroud)
说实话,mysqli是在应用程序代码中使用的可怕API.
帮自己一个忙,至少使用PDO
$result = $dataConnection->prepare("SELECT id, artist, COUNT(artist) AS count FROM {$databasePrefix}users GROUP BY artist ORDER BY cnt DESC LIMIT 0 , 30");
$result->execute();
echo json_encode($result->fetchAll());
Run Code Online (Sandbox Code Playgroud)
与mysqli不同,它的方法始终有效.