2017-05-08 4 views
1

Ich bin komplett neu in PHP und MySQL, aber ich muss schnell Projekt für morgen machen. Ich weiß nicht genau, wo ich eine Lösung für mein Problem finden kann, weil ich nicht genug über diese Sprachen weiß.PHP - JSON Antwort von MySQL Datenbank

werde ich mich freuen, wenn mir jemand helfen und warum ich leere Seite nach diesem Code erhalten:

<?php 
$servername = "xyz.xyz"; 
$username = "123"; 
$password = "123"; 
$dbname = "123"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT `id`,`symbol`,`shortcut` FROM `Table`"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    // output data of each row 
    $currencyArray = array(); 

    while($row = $result->fetch_assoc()) { 
     $currency = array($row["id"], $row["symbol"], $row["shortcut"]); 
     $currencyArray[] = $currency; 
    } 

    print json_encode($currencyArray); 
} else { 
    echo "0 results"; 
} 
$conn->close(); 
?> 

ich mit Arrays alle Daten aus der Tabelle in JSON als Array anzeigen möchten, die über alle Daten. Im Moment habe ich eine leere Seite. Ich werde mich für Hilfe freuen.

+0

Sie müssen sich auf die Fehlerberichterstattung drehen, so können Sie sehen, was nicht funktioniert und die Position des Fehlers. –

+0

Ich bin mir nicht sicher, wie ich das leider machen soll. Wenn ich richtig denke: Ich habe versucht, '$ currency' auszudrucken, und es funktioniert, aber das Hinzufügen dieses Objekts zu' $ currencyArray' scheitert aus irgendeinem Grund. – Dzeremix

+0

http://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php – Barmar

Antwort

1

Versuchen Sie in Ihren PHP-Einstellungen error_reporting zu aktivieren. Vielleicht die json_encode Funktion gibt einen Fehler zurück und, nach der php doc, gibt eine falsche zurück. Deshalb sehen Sie eine leere Seite.

Sie können die json_last_error Funktion verwenden, um zu sehen, welche Art von Fehler ist (doc).

Vielleicht ist eine Codierung Problem? Ein JSON kodiert in UTF-8. Versuchen Sie, Ihren Code zu debuggen, da wir nicht wissen, welche Art von Fehler zurückgegeben wird oder wie Ihre Daten sind.

Ich schlage vor, Sie einige Header zu setzen, wenn Sie einen JSON-String ausdrucken:

header("Content-type: application/json;charset=utf-8"); 
echo json_encode($array);