获取空的JSON响应 [英] Getting Empty JSON response
本文介绍了获取空的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屋!
查看全文