2017-12-14 1 views
1

Ich versuche mysql data in json Format mit PHP, unten ist mein Code, aber nach der Ausführung bekomme ich leere Ausgabe, wenn ich die Ausgabe der Array-Elemente mit Hilfe var_dump() dann kann ich die Datensätze sehen, aber als Ganzes die json Ausgabe wird nicht angezeigt, wie ich bin neu zu json so nicht in der Lage zu beheben, kann jemand überprüfen und das Problem finden, wird es große thnx sein.kein json-Ausgang für PHP-Code beim Lesen von Daten aus Mysql

<?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); 
?> 

Ausgabe von var_dump ($ response) ist -

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

Diese vielleicht verwandt https://stackoverflow.com/questions/19361282/why-would-json-encode-return-an-empty-string –

+0

Zeigen Sie, was Sie bekommen in '$ Antwort' und in' var_dump' auch –

+0

@ YashParekh ............ ist die Ausgabe von var_dump ($ response) angehängt. –

Antwort

1

Problem gelöst, nur ein einfaches Problem, Gott sei Dank. Ich änderte diese Linie als -

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

Jetzt bekomme ich den Json-Ausgang.

+0

Nach 2 Tagen können Sie Ihre eigene Antwort akzeptieren, die anderen, die diese Frage in Zukunft lesen, hilft – Mawg

Verwandte Themen