没有从使用PHP的Json_encode获得响应

没有从使用PHP的Json_encode获得响应,php,mysql,json,Php,Mysql,Json,我试图让这个代码工作,但我似乎无法理解它。。。我正在尝试连接多个表,并从用户名>播放列表>曲目中获取json输出 我放错东西了吗?我对这一级别的编码还相当陌生,仍在努力让我的头脑专注于它,所以任何帮助都将不胜感激 多谢各位 <?php // variable in which to store your results to be serialize $result_array = array(); // some index and temp variables we will

我试图让这个代码工作,但我似乎无法理解它。。。我正在尝试连接多个表,并从用户名>播放列表>曲目中获取json输出

我放错东西了吗?我对这一级别的编码还相当陌生,仍在努力让我的头脑专注于它,所以任何帮助都将不胜感激

多谢各位

    <?php

// variable in which to store your results to be serialize
$result_array = array();
// some index and temp variables we will use to build the data structure
$current_user_id = 0;
$user_idx = -1;
$current_playlist_id = 0;
$playlist_idx = -1;



    //Create Database connection
    $db = mysql_connect("localhost","USERNAME","PASSWORD");
    if (!$db) {
        die('Could not connect to db: ' . mysql_error());
    }

    //Select the Database
    mysql_select_db("DATABASE",$db);


// Your database fetch logic here.
// I have not shown where actual query would be made.
// The query would obviously need to succeed before getting to this code.
// Note that you REALLY should be considering mysqli or PDO here
// instead of deprecated mysql extension.
while($row = 
    //Replace * in the query with the column names.
    $result = mysql_query("SELECT
  u.`idu` AS `user_id`,
  u.`username` AS `user_name`,
  u.`first_name` AS `first_name`,
  u.`last_name` AS `last_name`,
  u.`country` AS `user_country`,
  u.`image` AS `user_image`,
  u.`cover` AS `user_cover`,
  u.`description` AS `user_description`,
  pl.`id` AS `playlist_id`,
  pl.`name` AS `playlist_name`,
  t.`id` AS `track_id`,
  t.`title` AS `track_title`,
  t.`name` AS `track_name`,
  t.`art` AS `track_art`,
  t.`likes` AS `track_likes`,
  t.`downloads` AS `track_downloads`,
  t.`views` AS `track_plays`
FROM users AS u
INNER JOIN playlists AS pl
  ON u.idu=pl.by
INNER JOIN playlistentries AS ple
  ON pl.id=ple.playlist
INNER JOIN tracks AS t
  ON ple.track=t.id
ORDER BY `user_id` ASC, `playlist_id` ASC, `track_id` ASC
LIMIT 10", $db) 


) {
    // is this a new user?
    $user_id = (integer)$row['user_id'];
    if($user_id !== $current_user_id) {
        // manage our indexes
        $current_user_id = $user_id;
        $user_idx++;
        $playlist_idx = -1;
        // start a new object to store data for this user
        $user_obj = new stdClass();
        // set properties on user from current row
        // name these properties whatever you want for final JSON structure
        $user_obj->idu = $current_user_id;
        $user_obj->username = $row['user_name'];
        $user_obj->first_name = $row['first_name'];
        $user_obj->last_name = $row['last_name'];
        $user_obj->country = $row['user_country'];
        $user_obj->image = $row['user_image'];
        $user_obj->cover = $row['user_cover'];
        $user_obj->description = $row['user_description'];
        $user_obj->playlists = array();
        // set object in overall result array
        $result_array[$user_idx] = $user_obj;
     }

     // does this playlist already exist for this user?
     $playlist_id = (int)$row['playlist_id'];
     if($playlist_idx === -1 || $playlist_id !== $current_playlist_id ) {
         // manage our indexes
         $current_playlist_id = $playlist_id;
         $playlist_idx++;
         // start a new object to store data for this user
         $playlist_obj = new stdClass();
         // set properties on playlist from current row
         // name these properties whatever you want for final JSON structure
         $playlist_obj->id = $current_playlist_id;
         $playlist_obj->name = $row['playlist_name'];
         $playlist_obj->by = $current_user_id;
         $playlist_obj->tracks = array();
         // set object in overall result array
         $result_array[$user_idx]->playlists[$playlist_idx] = $playlist_obj;
      }

      // create track object
      // we do this for every row
      $track_obj = new stdClass();
      $track_obj->id = $row['track_id'];
      $track_obj->title = $row['track_title'];
      $track_obj->name = $row['track_name'];
      $track_obj->art = $row['track_art'];
      $track_obj->likes = $row['track_likes'];
      $track_obj->downloads = $row['track_downloads'];
      $track_obj->plays = $row['track_plays'];
      $track_obj->uid = $current_user_id;

      // set track object in result set
      $result_array[$user_idx]->playlists[$playlist_idx]->tracks[] = $track_obj;
}
// serialize to JSON
$result_json = json_encode($result_array);


?>


如果您
echo$result\u json
$result\u json=json\u encode($result\u数组)之后?如上所述,您似乎没有对结果执行任何操作您正在初始化大量变量以填充数组,很可能会产生难以发现的错误。只是一个建议,尝试对PDO()执行同样的操作。它将更少的代码、更整洁和更少的混乱。@FirstOne nothing,页面只显示两个括号“[]”您的
select
是否返回了任何内容?我的意思是,它在输入
的同时
?添加一个
回显“某物”
//这是新用户吗?
如果没有显示任何内容,请尝试在php之外进行查询(phpmyadmin或其他)。另外,为了让它更容易看到发生了什么,考虑创建一个变量来保存查询字符串,例如“代码> $Que= = [您的选择] < /代码>,并使用<代码> MySqLyQualy($Qualy)。如果代码> ECHE$RESUTTJJSON,会发生什么情况?code>在
$result\u json=json\u encode($result\u数组)之后?如上所述,您似乎没有对结果执行任何操作您正在初始化大量变量以填充数组,很可能会产生难以发现的错误。只是一个建议,尝试对PDO()执行同样的操作。它将更少的代码、更整洁和更少的混乱。@FirstOne nothing,页面只显示两个括号“[]”您的
select
是否返回了任何内容?我的意思是,它在输入
的同时
?添加一个
回显“某物”
//这是新用户吗?
如果没有显示任何内容,请尝试在php之外进行查询(phpmyadmin或其他)。另外,为了让它更容易看到发生了什么,考虑创建一个变量来保存查询字符串,例如“代码> $Que= = [您的选择] < /代码>,并使用<代码> MySqLyQualy($Qualy)< /C>。