Php Json Web服务错误


Php Json Web service Error

我有一个JSON web服务的问题,我用php创建。当我包含echo $_GET['jsoncallback'].'('.json_encode($posts).')'时,继续在JSON中获取垃圾;此外,我得到了一个错误身份不明的索引行(一些数字),但它的行echo $_GET['jsoncallback'].'('.json_encode($posts).')';出现了。

如果我把这行去掉,我会得到JSON,但最终会出现无效标签

的错误

如何解决这个问题?我的代码如下:

<?php
$link = mysql_connect('localhost','root','') or die('Cannot connect to the DB');
mysql_select_db('music_db',$link) or die('Cannot select the DB');
/* grab the posts from the db */
$query = "SELECT track.track_id, track.track_name, artist.artist_name, genre.genre_name FROM artist INNER JOIN (genre INNER JOIN track ON genre.genre_id = track.genre_id) ON artist.artist_id = track.artist_id";
$result = mysql_query($query,$link) or die('Errant query:  '.$query);
/* create one master array of the records */
$posts = array();
if(mysql_num_rows($result)) {
while($post = mysql_fetch_assoc($result)) {
  $posts[] = array('post'=>$post);
 }
}
/* output in necessary format */
header('Content-type: application/json');
echo json_encode(array('posts'=>$posts));
@mysql_close($link);
?>

您将收到一个通知,因为您试图使用的索引未设置。你需要在使用它之前检查它。

if(isset($_GET['jsoncallback'])) {
  // Code here
}