获取空的JSON响应 [英] Getting Empty JSON response

查看:105
本文介绍了获取空的JSON响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在从数据库中获取数据并以json输出数据,但得到的是空JSON.不知道为什么吗我收到一个空数组帖子.您可以检查我的代码,请您帮我一下.

I am fetching data from database and output the data in json but getting empty JSON. Don't know why? I am getting an empty array posts. you can check my code, can you please help me out.

这是我的代码

<?php
//Turn off all error reporting
//error_reporting(0);
ini_set ("display_errors", "1");

  error_reporting(E_ALL);

  define("ENCRYPTION_KEY", "!@#$%^&*");



  /**
  * Returns an encrypted & utf8-encoded
  */
   function encrypt($pure_string, $encryption_key) {
   $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
   $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
   $encrypted_string = mcrypt_encrypt(MCRYPT_BLOWFISH, $encryption_key, utf8_encode($pure_string), MCRYPT_MODE_ECB, $iv);
  return $encrypted_string;
   }

  /**
  * Returns decrypted original string
   */
  function decrypt($encrypted_string, $encryption_key) {
   $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
   $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
   $decrypted_string = mcrypt_decrypt(MCRYPT_BLOWFISH, $encryption_key, $encrypted_string, MCRYPT_MODE_ECB, $iv);
   return $decrypted_string;
   }


  if(($_GET['action'])&&($_GET['username'])&&($_GET['key'])) {

     $select = $_GET['action'];
     $username =$_GET['username']; //no default
      $key= $_GET['key'];
      if($key=='India'){
      if($select=='select'){
        /* connect to the db */
     $connect = mysqli_connect('localhost','root','')or die("Couldn't connect to database!");
     mysqli_select_db($connect,'easy_sign') or die ("Couldn't find database");



 $query ="SELECT * FROM origin WHERE username ='$username' ";
 $result = mysqli_query($connect,$query);
 $numrows=mysqli_num_rows($result);
 if($numrows!==0)
 {

 while($row = mysqli_fetch_array($result))
 {

  $username = $row['username'];
  $path =     $row['path'];
  $decrypted_path = decrypt($path, ENCRYPTION_KEY);
  $filename = $row['filename'];
  $decrypted_name = decrypt($filename, ENCRYPTION_KEY);
  $date = $row['date'];

   }




  /* create one master array of the records */

  $posts = array();
  if(mysqli_num_rows($result)) {
    while($post = mysqli_fetch_assoc($result)) {
        $posts[] = array('post'=>$post);
    }
   }

    /* output in necessary format */

    header('Content-type: application/json');
    echo json_encode(array('posts'=>$posts));




     /* disconnect from the db */
    @mysqli_close($link);
      }
    }
   }

   }
   ?>

推荐答案

请从if($numrows!==0)更改为if($numrows > 0) 您可以像下面这样准备好与我一样的json:

Please change if($numrows!==0) to if($numrows > 0) And you can ready your json same as me like bellow :

<?php
$query ="SELECT * FROM origin WHERE username ='$username' ";
$result = mysqli_query($connect,$query);
$numrows = mysqli_num_rows($result);

if($numrows > 0)
{
    $post = array();
    while($row = mysqli_fetch_array($result))
    {
        $path =     $row['path'];
        $filename = $row['filename'];

        $post['username'] = $row['username'];
        $post['decrypted_path'] = decrypt($path, ENCRYPTION_KEY);
        $post['decrypted_name'] = decrypt($filename, ENCRYPTION_KEY);
        $post['date'] = $row['date'];
    }
    echo json_encode($post);
}
?>

这篇关于获取空的JSON响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆