2017-12-14 14 views
1

jsonフォーマットでmysql dataを取得しようとしています。以下のコードはPHPですが、実行後に空の出力が得られます。 var_dump()私はレコードを見ることができますが、全体としてjsonの出力が表示されません。私はjsonに新しくなっているので、トラブルシューティングできません。誰でもチェックして問題を見つけることができます。 var_dumpのmysqlからデータを読み取っているときにPHPコードのjson出力がありません

<?php 
header('Content-Type: application/json'); 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = 'mypassword'; 
$dbname = 'mydbname'; 

//setting records limit per page is 15 
$rec_limit = 15; 

//Establishing Connection 
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname); 
if (mysqli_connect_errno()) { 
printf("Connect failed: %s\n", mysqli_connect_error()); 
exit(); 
} 

/* Get total number of records */ 
$sql = "SELECT count(*) FROM ImageUploads"; 
$retval = $conn->query($sql); 
if(! $retval) 
{ 
    die($mysqli->error.__LINE__); 
} 

$rec_count = $retval->fetch_row(); 
$rec_count = $rec_count[0]; 

// Checking for page parameter to set. 
if(isset($_GET{'page'})) 
{ 
    $page = $_GET{'page'} + 1; 
    $offset = $rec_limit * $page ; 
} 
else 
{ 
    $page = 0; 
    $offset = 0; 
} 

//getting all data from table 
$sql = "SELECT * FROM ImageUploads ORDER BY slno DESC ". 
     "LIMIT $offset, $rec_limit"; 

$retval = $conn->query($sql); 
if(! $retval) 
{ 
die($mysqli->error.__LINE__); 
} 

//creating an array for response 
$response = array(); 

if ($retval->num_rows > 0) { 
$response["wallpapers"] = array(); 
$response["success"] = 1; 
$response["count"]= $rec_count; 
while ($row = $retval->fetch_array()) { 
     // temp wallpaper array 
     $wallpaper = array(); 
     $wallpaper["id"] = $row["slno"]; 
     $wallpaper["orig_url"] = "http://doupnow.com/AndroidApp/ImageUploads/".$row["image_url"]; 
     $wallpaper["thumb_url"]="No Thumb"; 
     $wallpaper["downloads"] = $row["downloads"]; 
     $wallpaper["fav"] = $row["views"]; 


     // push all data into final response array 
     array_push($response["wallpapers"], $wallpaper); 
    } 

    // echoing JSON response 
    echo str_replace('\/','/',json_encode($response,JSON_PRETTY_PRINT)); 

} else { 
    // no wallpapers found 
    $response["success"] = 0; 
    $response["message"] = "No Wallpapers found"; 
} 

mysqli_close($conn); 
?> 

出力($応答)がある - 。

array(3) { 
    ["wallpapers"]=> 
    array(1) { 
    [0]=> 
    array(5) { 
     ["id"]=> 
     string(1) "1" 
     ["orig_url"]=> 
     string(95) "http://doupnow.com/AndroidApp/ImageUploads/[email protected]_sOw$vN8T_IMG_20171203_200638.jpg" 
     ["thumb_url"]=> 
     string(8) "No Thumb" 
     ["downloads"]=> 
     string(1) "0" 
     ["fav"]=> 
     string(1) "0" 
    } 
    } 
    ["success"]=> 
    int(1) 
    ["count"]=> 
    string(1) "1" 
} 
+0

これはおそらくhttps://stackoverflow.com/questions/19361282/why-would-json-encode-return-an-empty-stringに関連しています –

+0

あなたは '$ response'と' var_dump'でも何を表示しているのかを表示します –

+0

@YashParekh ............ var_dump($ response)の出力が添付されています。 –

答えて

1

問題は解決しました。問題は解決しました。ありがとうございました。私はこの行を次のように変更しました -

echo str_replace('\/','/',json_encode($response)); 
//echo str_replace('\/','/',json_encode($response,JSON_PRETTY_PRINT)); 

今、私はjson出力を取得しています。

+0

2日後、あなた自身の回答を受け入れることができます。これは、今後この質問を読んだ人に役立ちます – Mawg

関連する問題